Методы определения версии Windows Management Framework


12

В Windows 7 и Windows 2008 R2 потенциально могут быть установлены WMF 2, WMF 3 или WMF 4 . Windows 2012 может иметь WMF3 или 4, а 2012 R2 имеет WMF 4.

Я ищу метод, чтобы найти, какая версия установлена. Надеюсь, это можно будет найти через WMI, поэтому я могу использовать его как в фильтрах групповой политики, так и в качестве проверки в сценариях Powershell, я планирую создать такие функции, которые требуют функциональности, доступной только при наличии WMF 3 или 4.

Я должен задавать вопрос неправильно, потому что я не нахожу ответы в Google.


Вы спрашиваете, как запустить что-то вроде, $PSVersionTable.PSVersionно с помощью WMI?
TheCleaner

Версия $PSVersionTable.PSVersionвсегда соответствует версии установленного WMF? Если так, этого может быть достаточно. Возможность получить это значение через WMI была бы полезной.
Zoredache

Не будет ли это $ PSVersionTable.WSManStackVersion для версии WMF?
ErikE

@ErikE - Я думаю, это зависит от того, нужна ли ему версия Host или реальная версия Powershell.
TheCleaner

2
@Zoredache - Если вы ищете способ убедиться, что вы можете запускать скрипт GPO или PS на компьютере, я думаю, вам нужно сначала определить, установлен ли Powershell и какая это версия. Это можно сделать через реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngineдля версии 1 или 2, а HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngineдля версии 3 или 4 ... под PowerShellVersionзначением. Это то, что вы после?
TheCleaner

Ответы:


9

Если вы ищете способ убедиться, что вы можете запускать скрипт GPO или PS на компьютере, я думаю, вам нужно сначала определить, установлен ли Powershell и какая это версия. Это можно сделать через реестр HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngineдля версии 1 или 2, а HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngineдля версии 3 или 4 ... в значении PowerShellVersion. Это то, что вы после?

Переменная Powershell: $ PSVersionTable.PSVersion также содержит информацию о WMF.


Версия WMF или PowerShell - это массив: «PSCompatibleVersions {1.0, 2.0, 3.0, 4.0}».
AnneTheAgile

6

Вы можете просто ввести «хост» в Powershell, чтобы увидеть версию «Windows Management Framework».

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

0

Установочный пакет для PowerShell находится внутри установщика WMF. Версия установщика WMF совпадает с версией PowerShell; не существует отдельного установщика для Windows PowerShell.

Версия PS = Версия WMF

Если вам нужно обновить существующую версию PowerShell, в Windows используйте следующую таблицу, чтобы найти установщик для той версии PowerShell, которую вы хотите обновить.

Windows PS 3.0 PS 4.0 PS 5.0 PS 5.1 Windows 10 (см. Примечание 1) Windows Server 2016 - - - установлен Windows 8.1 Windows Server 2012 R2 - установлен WMF 5.0 WMF 5.1 Windows 8 Windows Server 2012 установлен WMF 4.0 WMF 5.0 WMF 5.0 WMF 5.1 Windows 7 SP1 Windows Сервер 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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.