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

8

Estoy usando la última vista previa 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 traté de usar las técnicas más comunes para verificar las versiones de Windows, porque el marco completo .Net 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 tiene el comando powershell:

Dism /Online /Get-Feature

Eso me da esta salida más una lista de características 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 mi escritorio de Windows 10, puedo tener una idea de la compilación del kernel, y es interesante que el escritorio de Windows 10 tenga el mismo "paquete Microsoft-Windows-Foundation", pero una compilación del kernel inferior número.

¿Alguien ha encontrado un cmdlet o alguna función o alias de PowerShell que se pueda escribir, que detectará para mí el hecho de que mi script de PowerShell se ejecuta en un nano-servidor, de alguna manera que es poco probable que se rompa, o cualquier comando que pueda en realidad imprimir "Windows Server 2016 Nano Server"?

Actualización: Esto está más cerca de lo que quiero, pero es un poco hack:

  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

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

Warren P
fuente

Respuestas:

4

Podrías probar lo siguiente, no tengo un servidor nano para probarlo. Suelte el selectsi le da 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 era necesario, pero si lo necesita en alguna fecha futura, 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
Drifter104
fuente
El contenido de la sesión no es necesario si ya está en una sesión remota a la que ingresó, por Enter-PSSessionlo que le sugerí una edición.
Warren P
3

Esta es solo una extensión en su edición, pero limpia la salida al obtener solo ProductName

$(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ProductName).ProductName
Eric
fuente
Esa es una buena mejora.
Warren P
2

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

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

Grunkle Stan
fuente
Muy poca cantidad de información en los Get-WindowsEdition -Onlineinformes que solo se devuelven Professional: ¿informan Nanopara el servidor nano?
Warren P
-1

Símbolo del sistema administrativo de PowerShell y escritura:

 Get-WmiObject -Class Win32_Operatingsystem

Devoluciones:

Build Number and Version
Royston
fuente
No hay forma de ver si eso es nano o no
Warren P