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

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

Estou usando a visualização mais recente do Windows Server 2016 nano.

Usando uma sessão remota do PowerShell, conectei-me ao sistema remoto via Enter-PSSessione tentei usar as técnicas mais comuns para verificar as versões do Windows, porque o framework .Net completo 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 de comando que não é do PowerShell:

Dism /Online /Get-Feature

Isso me dá esta 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 é superior ao meu desktop do Windows 10, posso ter uma ideia do Kernel Build, e é interessante que o desktop do Windows 10 tenha o mesmo "Microsoft-Windows-Foundation-Package", mas um kernel inferior build número.

Alguém encontrou um cmdlet ou alguma função ou alias do PowerShell que possa ser escrito, que detectará para mim o fato de que meu script do PowerShell está sendo executado em um nano-servidor, de alguma forma que provavelmente não quebrará, ou qualquer comando que irá realmente imprimir "Windows Server 2016 Nano Server"?

Atualização: isso está mais próximo do que eu quero, mas é um pouco complicado:

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

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

[System.Environment]::OSVersion.Version

Acima relatará a compilação 10514, enquanto os sistemas operacionais clientes Windows 10 RTM relatam 10240 no momento, mas o acima é realmente uma "construção do kernel" e não um produto/edição/nível de service pack do sistema operacional.

Responder1

Você poderia tentar o seguinte, não tenho um nano servidor para testar. Abandone selectse você conseguir outra coisa e veja se o que você deseja está armazenado em uma propriedade diferente no Server 2016 Nano

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

Quando testado em uma instância Nano real, 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

Responder2

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

Responder3

O método da Microsoft, também conhecido como método Cert, é usar oGet-WindowsEdition -Online

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

Responder4

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

 Get-WmiObject -Class Win32_Operatingsystem

Retorna:

Build Number and Version

informação relacionada