W systemach Windows 7 i Windows 2008 R2 potencjalnie może być zainstalowany program WMF 2, WMF 3 lub WMF 4 . Windows 2012 może mieć WMF3 lub 4, a 2012 R2 ma WMF 4.
Szukam metody sprawdzenia, która wersja jest zainstalowana. Mam nadzieję, że można to znaleźć za pomocą WMI, więc mogę używać go w obu filtrach zasad grupy, a jako sprawdzian w skryptach Powershell planuję zbudować, które wymagają funkcjonalności dostępnej tylko, jeśli WMF 3 lub 4.
Muszę zadawać pytanie w niewłaściwy sposób, ponieważ nie znajduję odpowiedzi w Google.
$PSVersionTable.PSVersion
ale używając WMI?$PSVersionTable.PSVersion
zawsze odpowiada zainstalowanej wersji WMF? Jeśli tak, to może wystarczyć. Pomocna byłaby możliwość uzyskania tej wartości za pośrednictwem WMI.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
dla wersji 1 lub 2, aHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
dla wersji 3 lub 4 ... poniżejPowerShellVersion
wartości. Czy o to ci chodzi?Odpowiedzi:
Jeśli szukasz sposobu, aby upewnić się, że możesz uruchomić skrypt GPO lub PS na komputerze, myślę, że musisz najpierw ustalić, czy Powershell jest w ogóle zainstalowany i jaka jest wersja. Można to zrobić za pośrednictwem rejestru
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
dla wersji 1 lub 2, aHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
dla wersji 3 lub 4 ... poniżej wartości PowerShellVersion. Czy o to ci chodzi?Zmienna Powershell: $ PSVersionTable.PSVersion przechowuje również informacje dotyczące WMF.
źródło
Możesz po prostu wpisać „host” w programie Powershell, aby wyświetlić wersję „Windows Management Framework”.
źródło
Pakiet instalacyjny programu PowerShell znajduje się w instalatorze WMF. Wersja instalatora WMF jest zgodna z wersją programu PowerShell; nie ma samodzielnego instalatora dla Windows PowerShell.
Wersja PS = wersja WMF
Jeśli musisz zaktualizować istniejącą wersję programu PowerShell, w systemie Windows skorzystaj z poniższej tabeli, aby zlokalizować instalator wersji programu PowerShell, którą chcesz zaktualizować.
Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1 Windows 10 (patrz Uwaga 1) Windows Server 2016 - - - zainstalowany Windows 8.1 Windows Server 2012 R2 - zainstalowany WMF 5.0 WMF 5.1 Windows 8 Windows Server 2012 zainstalowany WMF 4.0 WMF 5.0 WMF 5.1 Windows 7 SP1 Windows Serwer 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
źródło