Ich verwende die neueste Vorschau von Windows Server 2016 Nano.
Mithilfe einer Remote-PowerShell-Sitzung verbinde ich mich über mit dem Remote-System Enter-PSSession
und 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, select
wenn 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