Методи виявлення версії 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 було б корисно.
Зоредаче

Хіба це не буде $ 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 aka 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.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.