В 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?$PSVersionTable.PSVersion
всегда соответствует версии установленного WMF? Если так, этого может быть достаточно. Возможность получить это значение через WMI была бы полезной.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\PowerShellEngine
для версии 1 или 2, аHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine
для версии 3 или 4 ... подPowerShellVersion
значением. Это то, что вы после?Ответы:
Если вы ищете способ убедиться, что вы можете запускать скрипт 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.
источник
Вы можете просто ввести «хост» в Powershell, чтобы увидеть версию «Windows Management Framework».
источник
Установочный пакет для 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
источник