Ist es möglich, eine Windows-Version von einem Powershell-Befehl unter Windows Server 2016 Nano abzurufen?

8

Ich verwende die neueste Vorschau von Windows Server 2016 nano.

Mithilfe einer Remote-Powershell-Sitzung stelle ich über eine Verbindung zum Remote-System her Enter-PSSessionund habe dann versucht, die gängigsten Techniken zum Überprüfen von Windows-Versionen zu verwenden, da das vollständige .NET-Framework nicht verfügbar ist. Das Cmdlet Get-WmiObject ist ebenfalls nicht verfügbar.

Ich kann EINIGE Informationen nur mit diesem Nicht-Powershell-Befehl DISM sehen:

Dism /Online /Get-Feature

Das gibt mir diese Ausgabe plus eine Liste der installierten Funktionen:

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

Aus dem 10514-Wert, der höher als mein Windows 10-Desktop ist, kann ich eine Vorstellung vom Kernel-Build bekommen, und es ist interessant, dass der Windows 10-Desktop das gleiche "Microsoft-Windows-Foundation-Paket" hat, aber einen niedrigeren Kernel-Build Nummer.

Hat jemand ein Cmdlet oder eine Powershell-Funktion oder einen Alias ​​gefunden, der geschrieben werden könnte, der entweder für mich die Tatsache erkennt, dass mein Powershell-Skript auf einem Nano-Server ausgeführt wird, auf eine Weise, die wahrscheinlich nicht funktioniert, oder einen Befehl, der dies tut tatsächlich "Windows Server 2016 Nano Server" ausdrucken?

Update: Dies ist näher an dem, was ich will, aber ein bisschen wie ein Hack:

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

Update 2: Get-WmiObject ist nicht vorhanden. Während das Folgende funktioniert, wird nur die Kernelversion gemeldet:

[System.Environment]::OSVersion.Version

Oben wird Build 10514 gemeldet, während Windows 10-Client-Betriebssysteme RTM derzeit 10240 meldet, aber das Obige ist wirklich ein "Kernel-Build", kein Betriebssystemprodukt / Edition / Service-Pack-Level.

Warren P.
quelle

Antworten:

4

Sie könnten Folgendes ausprobieren: Ich habe keinen Nano-Server, auf dem ich es ausprobieren kann. Löschen Sie das, selectwenn Sie etwas anderes erhalten, und prüfen Sie, ob das, was Sie möchten, in Server 2016 Nano unter einer anderen Eigenschaft gespeichert ist

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

Beim Testen auf einer realen Nano-Instanz wurde der Parameter -session nicht benötigt. Wenn Sie ihn jedoch zu einem späteren Zeitpunkt benötigen, finden Sie hier die Variante mit -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
quelle
Das Sitzungsmaterial ist nicht erforderlich, wenn Sie sich bereits in einer Remote-Sitzung befinden, über die Sie eingegeben haben. Daher Enter-PSSessionhabe ich eine Bearbeitung vorgeschlagen.
Warren P
3

Dies ist nur eine Erweiterung Ihrer Bearbeitung, bereinigt jedoch die Ausgabe, indem nur ProductName abgerufen wird

$(Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion' ProductName).ProductName
Eric
quelle
Das ist eine schöne Verbesserung.
Warren P
2

Der Microsoft-Weg, auch bekannt als Cert-Weg, ist die Verwendung des Get-WindowsEdition -Online

Weitere Informationen zum Befehl und all seinen Optionen finden Sie unter Hier!

Grunkle Stan
quelle
Sehr kleine Menge an Informationen in Get-WindowsEdition -OnlineBerichten nur zurück Professional- meldet es Nanofür Nano-Server zurück?
Warren P
-1

PowerShell Administrative Eingabeaufforderung und Eingabe:

 Get-WmiObject -Class Win32_Operatingsystem

Kehrt zurück:

Build Number and Version
Royston
quelle
Keine Möglichkeit zu sehen, ob das Nano ist oder nicht
Warren P