¿Es posible obtener una versión de Windows desde un comando de PowerShell en Windows Server 2016 Nano?

¿Es posible obtener una versión de Windows desde un comando de PowerShell en Windows Server 2016 Nano?

Estoy usando la última versión preliminar de Windows Server 2016 nano.

Usando una sesión remota de PowerShell, me conecto al sistema remoto a través de Enter-PSSession, y luego intenté usar las técnicas más comunes para verificar las versiones de Windows, porque el marco .Net completo no está disponible. Además, el cmdlet Get-WmiObject no está disponible.

La única forma en que puedo ver ALGUNA información es con este DISM que no es un comando de PowerShell:

Dism /Online /Get-Feature

Eso me da este resultado más una lista de funciones instaladas:

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 del valor 10514, que es más alto que el de mi escritorio de Windows 10, puedo tener una idea de la compilación del kernel, y es interesante que el escritorio de Windows 10 tiene el mismo "Microsoft-Windows-Foundation-Package", pero una compilación del kernel inferior. número.

¿Alguien ha encontrado un cmdlet o alguna función o alias de PowerShell que pueda escribirse y que detecte el hecho de que mi script de PowerShell se está ejecutando en un nanoservidor, de alguna manera que es poco probable que se rompa, o algún comando que lo haga? ¿Imprimir realmente "Windows Server 2016 Nano Server"?

Actualización: esto se acerca más a lo que quiero, pero es un truco:

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

Actualización 2: Get-WmiObject no está presente y, aunque lo siguiente funciona, solo informa la versión del kernel:

[System.Environment]::OSVersion.Version

Lo anterior informará la compilación 10514, mientras que los sistemas operativos cliente Windows 10 RTM informan 10240 en este momento, pero lo anterior es realmente una "compilación del núcleo", no un nivel de producto/edición/paquete de servicio del sistema operativo.

Respuesta1

Podrías intentar lo siguiente, no tengo un servidor nano para probarlo. Suelte selectsi obtiene algo más y vea si lo que desea está almacenado en una propiedad diferente en Server 2016 Nano

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

Cuando se probó en una instancia Nano real, el parámetro -session no fue necesario, pero si lo necesita en el futuro, aquí está la variante con -session:

$cuser = "Your username"
$cservername = "Your Servername"
$csession = New-CimSession –Credential $cuser –ComputerName $cservername
Get-CIMInstance –session $csession -ClassName Win32_OperatingSystem -Property * | select caption

Respuesta2

Esto es solo una extensión de su edición, pero limpia el resultado al obtener solo ProductName

$(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ProductName).ProductName

Respuesta3

La forma de Microsoft, también conocida como la forma de Cert, es utilizar elGet-WindowsEdition -Online

Puede encontrar información adicional sobre el comando y todas sus opciones en¡Aquí!

Respuesta4

Símbolo del sistema administrativo de PowerShell y escribiendo:

 Get-WmiObject -Class Win32_Operatingsystem

Devoluciones:

Build Number and Version

información relacionada