Ist es möglich, eine Windows-Version über einen Powershell-Befehl auf Windows Server 2016 Nano abzurufen?

Ist es möglich, eine Windows-Version über einen Powershell-Befehl auf Windows Server 2016 Nano abzurufen?

Ich verwende die neueste Vorschau von Windows Server 2016 Nano.

Mithilfe einer Remote-PowerShell-Sitzung verbinde ich mich über mit dem Remote-System Enter-PSSessionund versuche dann, die gängigsten Techniken zum Überprüfen der Windows-Versionen zu verwenden, da das vollständige .NET-Framework nicht verfügbar ist. Auch das Cmdlet Get-WmiObject ist nicht verfügbar.

Die einzige Möglichkeit, EINIGE Informationen anzuzeigen, ist mit diesem Nicht-PowerShell-Befehl DISM:

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

Anhand des Wertes 10514, der höher ist als bei meinem Windows 10-Desktop, kann ich mir ein Bild vom Kernel-Build machen. Interessant ist, dass der Windows 10-Desktop zwar das gleiche „Microsoft-Windows-Foundation-Package“, aber eine niedrigere Kernel-Build-Nummer hat.

Hat jemand ein Cmdlet oder eine Powershell-Funktion bzw. einen Alias ​​gefunden, der geschrieben werden könnte und der entweder auf eine Art und Weise, die wahrscheinlich nicht abbricht, für mich erkennt, dass mein Powershell-Skript auf einem Nano-Server ausgeführt wird, oder einen Befehl, der tatsächlich „Windows Server 2016 Nano Server“ ausgibt?

Update: Das hier kommt dem näher, was ich will, ist aber ein bisschen ein Hack:

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

Update 2: Get-WmiObject ist nicht vorhanden und obwohl Folgendes funktioniert, meldet es nur die Kernelversion:

[System.Environment]::OSVersion.Version

Oben wird Build 10514 gemeldet, wohingegen RTM für Client-Betriebssysteme von Windows 10 derzeit 10240 meldet. Oben handelt es sich jedoch wirklich um einen „Kernel-Build“ und nicht um ein Produkt/eine Edition/ein Service Pack auf Betriebssystemebene.

Antwort1

Sie könnten Folgendes versuchen, ich habe keinen Nano-Server, auf dem ich es ausprobieren könnte. Lassen Sie das weg, selectwenn es Ihnen etwas anderes bringt, und prüfen Sie, ob das Gewünschte in Server 2016 Nano unter einer anderen Eigenschaft gespeichert ist

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

Beim Test auf einer echten Nano-Instanz wurde der Parameter -session nicht benötigt. Falls 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

Antwort2

Dies ist lediglich eine Erweiterung Ihrer Bearbeitung, bereinigt aber die Ausgabe, indem nur der Produktname abgerufen wird

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

Antwort3

Der Microsoft-Weg, auch bekannt als Cert-Weg, besteht in der Verwendung desGet-WindowsEdition -Online

Weitere Informationen zum Befehl und allen seinen Optionen finden Sie unterHier!

Antwort4

PowerShell-Verwaltungseingabeaufforderung und Eingabe von:

 Get-WmiObject -Class Win32_Operatingsystem

Kehrt zurück:

Build Number and Version

verwandte Informationen