Methoden zum Erkennen der Version von Windows Management Framework

12

Unter Windows 7 und Windows 2008 R2 kann möglicherweise WMF 2, WMF 3 oder WMF 4 installiert sein. Windows 2012 kann WMF3 oder 4 und 2012 R2 WMF 4 enthalten.

Ich suche nach einer Methode, um herauszufinden, welche Version installiert ist. Hoffentlich kann dies über WMI gefunden werden, sodass ich es in beiden Gruppenrichtlinienfiltern verwenden kann, und als Überprüfung in Powershell-Skripten plane ich, Funktionen zu erstellen, die nur für WMF 3 oder 4 verfügbar sind.

Ich muss die Frage falsch stellen, da ich bei Google keine Antworten finde.

Zoredache
quelle
Fragen Sie sich, wie Sie etwas ausführen sollen, $PSVersionTable.PSVersionohne WMI zu verwenden?
TheCleaner
Entspricht die Version von $PSVersionTable.PSVersionimmer der installierten WMF-Version? Wenn ja, könnte das ausreichen. In der Lage zu sein, diesen Wert über WMI zu erhalten, wäre hilfreich.
Zoredache
Wäre es nicht $ PSVersionTable.WSManStackVersion für die WMF-Version?
ErikE
@ErikE - Ich denke, es hängt davon ab, ob er die Host-Version oder die aktuelle Powershell-Version benötigt.
TheCleaner
2
@Zoredache - Wenn Sie sicherstellen möchten, dass Sie ein GPO- oder PS-Skript auf einem Computer ausführen können, müssen Sie zunächst feststellen, ob Powershell überhaupt installiert ist und welche Version es ist. Dies kann über die Registrierung HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEnginefür Version 1 oder 2 und HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEnginefür Version 3 oder 4 unter dem PowerShellVersionWert erfolgen. Ist es das, was du suchst?
TheCleaner

Antworten:

9

Wenn Sie nach einer Möglichkeit suchen, um sicherzustellen, dass Sie ein GPO- oder PS-Skript auf einem Computer ausführen können, müssen Sie zunächst feststellen, ob Powershell überhaupt installiert ist und welche Version es ist. Dies kann über die Registrierung HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEnginefür Version 1 oder 2 und HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEnginefür Version 3 oder 4 unter dem PowerShellVersion-Wert erfolgen. Ist es das, was du suchst?

Die Powershell-Variable: $ PSVersionTable.PSVersion enthält auch Informationen zur WMF.

Der Reiniger
quelle
WMF aka Powershell-Version ist ein Array: "PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}".
AnneTheAgile
6

Sie können einfach "host" in Powershell eingeben, um die Version von "Windows Management Framework" anzuzeigen.

PS> (host).Version
Major  Minor  Build  Revision
-----  -----  -----  --------
4      0      -1     -1      
Mahesh27
quelle
0

Das Installationspaket für PowerShell befindet sich in einem WMF-Installationsprogramm. Die Version des WMF-Installationsprogramms stimmt mit der Version von PowerShell überein. Für Windows PowerShell gibt es kein eigenständiges Installationsprogramm.

Version PS = Version WMF

Wenn Sie Ihre vorhandene Version von PowerShell unter Windows aktualisieren müssen, verwenden Sie die folgende Tabelle, um das Installationsprogramm für die Version von PowerShell zu suchen, auf die Sie aktualisieren möchten.

Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1 Windows 10 (siehe Hinweis 1) Windows Server 2016 - - - installiert Windows 8.1 Windows Server 2012 R2 - installiert WMF 5.0 WMF 5.1 Windows 8 Windows Server 2012 installiert WMF 4.0 WMF 5.0 WMF 5.1 Windows 7 SP1 Windows Server 2008 R2 SP1 WMF 3.0 WMF 4.0 WMF 5.0 WMF 5.1

https://docs.microsoft.com/en-us/powershell/scripting/install/installing-windows-powershell?view=powershell-5.1

SebbV
quelle