É possível obter uma versão do windows a partir de um comando powershell no Windows Server 2016 Nano?

8

Estou usando a última visualização do Windows Server 2016 nano.

Usando uma sessão remota do PowerShell, conecto-me ao sistema remoto via Enter-PSSession e, em seguida, tentei usar as técnicas mais comuns para verificar as versões do Windows, porque a estrutura completa do .net não está disponível. Além disso, o cmdlet Get-WmiObject não está disponível.

A única maneira de ver ALGUMAS informações é com este DISM não-comando powershell:

Dism /Online /Get-Feature

Isso me dá essa saída mais uma lista de recursos instalados:

Deployment Image Servicing and Management tool
Version: 10.0.10514.0

Image Version: 10.0.10514.0

Features listing for package : Microsoft-Windows-Foundation-Package~31bf3856ad364e35~amd64~~10.0.10514.0

A partir do valor 10514, que é mais alto do que a minha área de trabalho do Windows 10, posso ter uma idéia da compilação do Kernel e é interessante que a área de trabalho do Windows 10 tenha o mesmo "Microsoft-Windows-Foundation-Package". menor número de compilação do kernel.

Alguém encontrou um cmdlet ou alguma função powershell ou um alias que possa ser escrito, que detectará para mim o fato de que meu script powershell está sendo executado em um nano-servidor, de alguma forma que é improvável que quebre ou comando que vai realmente imprimir "Windows Server 2016 Nano Server"?

Atualização: isso é mais parecido com o que eu quero, mas é meio que um truque:

  Get-Item -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion'

Atualização 2: Get-WmiObject não está presente e, enquanto o seguinte funciona, ele apenas relata a versão do kernel:

[System.Environment]::OSVersion.Version

Acima relatará a compilação 10514, enquanto a RTM dos sistemas operacionais clientes do Windows 10 reportará 10240 no momento, mas a descrição acima é realmente uma "compilação do kernel" e não um produto / edição / service-pack-level.

    
por Warren P 06.10.2015 / 22:06

4 respostas

4

Você pode tentar o seguinte, não tenho um servidor nano para testá-lo. Elimine o select se isso lhe der algo mais e veja se o que você deseja é armazenado sob uma propriedade diferente no Server 2016 Nano

Get-CIMInstance -ClassName Win32_OperatingSystem -Property * | select caption

Quando testado em uma instância real do Nano, o parâmetro -session não foi necessário, mas se você precisar dele em alguma data futura, aqui está a variante com -session:

$cuser = "Your username"
$cservername = "Your Servername"
$csession = New-CimSession –Credential $cuser –ComputerName $cservername
Get-CIMInstance –session $csession -ClassName Win32_OperatingSystem -Property * | select caption
    
por 06.10.2015 / 23:43
3

Esta é apenas uma extensão da sua edição, mas limpa a saída, obtendo apenas ProductName

$(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ProductName).ProductName
    
por 06.10.2015 / 22:36
2

O caminho da Microsoft também conhecido como o modo Cert é usar o Get-WindowsEdition -Online

informações adicionais sobre o comando e todas as suas opções podem ser encontradas em Aqui!

    
por 08.08.2018 / 11:31
-1

Prompt de comando administrativo do PowerShell e digitação:

 Get-WmiObject -Class Win32_Operatingsystem

Retorna:

Build Number and Version
    
por 08.08.2018 / 11:15