Wie können Sie überprüfen, welche Version von Windows Management Framework (WMF) installiert ist? Es scheint, als ob es eine einfache Sache sein sollte, es herauszufinden, aber ich kann es nicht. Sogar das Googeln einer Reihe verschiedener Versionen der Frage ergibt wenig bis gar nichts.
Es ist nicht in appwiz.cpl und regedit findet nichts für "Windows Management Framework" und findet zu viel fremdes Zeug für "wmf"
Ich möchte nur wissen, wie ich es überhaupt überprüfen kann, auf eine vernünftige Weise. Gibt es einen Registrierungsschlüssel dafür? Gibt es eine Datei, die ich überprüfen kann? Etwas???
Das nächste, was ich finden konnte, war hier bei Serverfehler: Methoden zum Erkennen der Version von Windows Management Framework . Diese Frage beginnt mit der gleichen Frage, scheint jedoch nach einer bestimmten Art der Überprüfung in einem Gruppenrichtlinienobjekt zu fragen. Vielleicht bekam es deshalb keine Antworten.
Es gibt mehrere Computer, auf denen ich dies überprüfen möchte. Ich beginne mit Windows Server 2008 R2 Standard. Es wird auch andere Windows Server-Betriebssysteme geben.
Wenn Sie Tags kennen, die besser funktionieren als ich, kommentieren Sie sie bitte oder markieren Sie sie erneut. Ich konnte nichts finden, das diese Frage gut beschrieb.
Update: Einige Leute scheinen zu denken, dass " $PSVersionTable
" (und / oder verschiedene Eigenschaften davon) eine Antwort sind. Vor kurzem habe ich endlich gemerkt, dass dies eine PowerShell-Variable ist (vielleicht hätte das Präfix 'PS' sie mir verraten sollen, aber nicht) und versucht, tiefer zu graben. Dies führte zu einer weiteren Frage: Was bedeuten die Inhalte von PowerShells $ PSVersionTable? .
Update 2: Nach all den Informationen, die ich jetzt gesammelt habe und die ich besser verstehe, bin ich mir ziemlich sicher, dass die integrierte Variable von PowerShell $PSVersionTable.PSVersion
technisch nicht die Antwort darauf ist, aber dass sie häufig (manchmal? Immer? Nicht sicher) ist das gleiche, wie in den versionen könnte hand in hand gehen. Die $PSVersionTable.WSManStackVersion
Variable könnte das sein, was ich will, aber die offizielle Kurzbeschreibung dieser Eigenschaft zeigt, dass sie den WS-Management-Stack darstellt. Ist der WS-Management-Stack dasselbe wie WMF? Googeln legt nahe, dass sie eng miteinander verwandt sind, aber ich bin nicht sicher, ob die Antwort darauf Ja lautet.
quelle
$PSVersionTable.PSVersion
ohne WMI zu verwenden?" ist keine Antwort. Was bedeutet das überhaupt? Wenn Sie diesen Kommentar in eine tatsächlich verwendbare Antwort umwandeln könnten, wäre ich Ihnen dankbar. Handelt es sich um$PSVersionTable.PSVersion
eine Variable, die irgendwo verfügbar ist? Wenn ja, handelt es sich garantiert um die WMF-Version? Ich versuchteecho $PSVersionTable.PSVersion
und bekam eine Ausgabe von$PSVersionTable.PSVersion
echo $PSVersionTable.PSVersion
und hast eine Ausgabe von$PSVersionTable.PSVersion
- was verwirrt dich in meinem Kommentar / meiner Antwort auf die andere Frage?Antworten:
Siehe diese Dokumentation von Microsoft:
https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1
Im Abschnitt "Aktualisieren von vorhandenem Windows Powershell" heißt es speziell:
Ich denke, das ist die Antwort, Leute. Führen Sie aus
$PSVersionTable.PSVersion
, um die Version abzurufen.quelle
Ich weiß, dass dies eine alte Frage ist, aber für andere, die dies über eine Google-Suche finden:
Ich möchte argumentieren, dass dies
$PSVersionTable.PSVersion
der zuverlässigste Indikator für die Version von WMF ist. Beispiele siehe unten.Neuinstallation von Windows 7:
Windows 7 nach der Installation von .NET 4.5 und WMF 4:
Windows 7 nach der WMF 5-Installation:
Windows 10, das WMF 5 im Lieferumfang enthält:
Wie Sie sehen können,
$PSVersionTable.WSManStackVersion.Major
scheint sich die Version von nur bei der WMF 4-Installation zu ändern und bleibt dann bei 3. Während$PSVersionTable.PSVersion.Major
die genaue Version von WMF zu melden scheint.quelle
In PowerShell ist es von verfügbar
$PSVersionTable.WSManStackVersion.Major
Mein Windows 7-Heimsystem:
Dann nach der Installation eines neueren Windows Management Frameworks:
quelle
WSManStackVersion
es ursprünglich 3.0 war, und es blieb bei 3.0. Ich denke, die beste Anleitung sind die ersten beiden KomponentenPSVersion
, die mit der WMF-Version identisch sind.Wenn es installiert ist, finden Sie es in "appwiz.cpl". Denken Sie daran, unter "Installierte Updates anzeigen" nachzusehen, da die WMF als Windows-Update mit eindeutigen KB-Nummern für die verschiedenen Windows-Versionen verteilt wird.
quelle
Sie überprüfen, welche Version von Windows Management Framework (WMF) installiert ist, indem Sie die KB-Nummer der Version identifizieren, nach der Sie suchen, und in diesem Fall mithilfe einer wmic-Abfrage ermitteln, ob diese KB-Nummer installiert wurde. Diese Beispiele basieren alle auf der Verwendung von cmd.exe zum Ausführen der Befehle.
** Befehle zum Überprüfen auf WMF 4.0
** Beispiel für die Ausführung der Befehle:
Im obigen Beispiel ist WMF 4.0 installiert: Die KB wird von der WMIC-Abfrage und einem Null-Rückkehrcode zurückgegeben.
** Befehle zum Überprüfen auf WMF 5.0
** Beispiel für die Ausführung der Befehle:
Im obigen Beispiel ist also WMF 5.0 nicht installiert: Von der wmic-Abfrage wurde nichts zurückgegeben und der Rückkehrcode ist nicht Null.
Möglicherweise haben Sie eine andere KB verwendet, um ein bestimmtes WMF-Level zu installieren, aber mit diesen arbeite ich zurzeit.
Und ich überprüfe immer PowerShell (das als Teil von WMF installiert oder aktualisiert wird):
Beim Upgrade auf WMF 4.0 (und später erneut auf 5.0) treten Probleme auf, wenn .NET 4.5 nicht installiert ist. Wenn der PS-Befehl einen Fehler ausgibt, sollten Sie .NET 4.5 wahrscheinlich installieren.
quelle