Как проверить, какая версия Windows Management Framework (WMF) установлена? Кажется, это должно быть легко узнать, но я не могу. Даже поиск в Google множества разных версий вопроса мало что дает.
Его нет в appwiz.cpl, и regedit ничего не находит для «Windows Management Framework» и находит слишком много посторонних для «wmf»
Я просто хочу знать, как это проверить, любым разумным способом. Для этого есть ключ реестра? Есть ли файл, который я могу проверить? Что-нибудь???
Самая близкая вещь, которую я смог найти, была здесь о сбое сервера: Методы обнаружения версии Windows Management Framework . Этот вопрос начинается с того же, но, похоже, он требует особого способа проверки для использования в объекте групповой политики; возможно, именно поэтому он не получил ответов.
Есть несколько компьютеров, на которых я хочу это проверить. Я начинаю с Windows Server 2008 R2 Standard. Будут и другие операционные системы Windows Server.
Если вам известны какие-либо теги, которые работают лучше, чем у меня, пожалуйста, прокомментируйте или сделайте метку; Я не мог найти ничего, что хорошо описывало бы этот вопрос.
Обновление: некоторые люди думают, что " $PSVersionTable
" (и / или различные его свойства) является ответом. Недавно я наконец понял, что это переменная PowerShell (возможно, префикс 'PS' должен был дать ее мне, но это не так) и попытался копать глубже. Это привело к другому вопросу: что представляет собой содержимое PowerShell $ PSVersionTable? ,
Обновление 2: Исходя из всей информации, которую я собрал сейчас, и моего лучшего понимания, я вполне уверен, что встроенная переменная PowerShell $PSVersionTable.PSVersion
технически не является ответом на это, но часто (иногда «всегда» не уверен) То же, что и в версиях, может идти рука об руку. $PSVersionTable.WSManStackVersion
Переменная может быть то , что я хочу, но официальное краткое описание того, что свойство показывает , что как представление стека WS-Management. Стек WS-Management - это то же самое, что и WMF? Гугл предполагает, что они тесно связаны, но я не уверен, что ответ «да».
источник
$PSVersionTable.PSVersion
но с помощью WMI?" это не ответ. Что это вообще значит? Если бы вы могли взять этот комментарий и превратить его в действительно полезный ответ, я был бы признателен за это. Это$PSVersionTable.PSVersion
переменная какого-то типа, которая доступна где-то? Если да, гарантированно ли будет версия WMF? Я попыталсяecho $PSVersionTable.PSVersion
и получил вывод$PSVersionTable.PSVersion
echo $PSVersionTable.PSVersion
и получили вывод$PSVersionTable.PSVersion
- чем вас смущает мой комментарий / ответ на другой вопрос?Ответы:
Смотрите эту документацию от Microsoft:
https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell?view=powershell-5.1
В разделе «Обновление существующей Windows Powershell» конкретно сказано:
Я думаю, что это ответ, ребята. Запустите,
$PSVersionTable.PSVersion
чтобы получить версию.источник
Я знаю, что это старый вопрос, но для тех, кто находит это из поиска Google:
Я хотел бы поспорить, что
$PSVersionTable.PSVersion
это самый надежный показатель версии WMF. Смотрите ниже примеры.Windows 7 свежая установка:
Windows 7 после установки .NET 4.5 и WMF 4:
Windows 7 после установки WMF 5:
Windows 10, которая включает WMF 5 из коробки:
Итак, как вы можете видеть, версия for
$PSVersionTable.WSManStackVersion.Major
только изменяется при установке WMF 4, а затем остается на 3. Хотя,$PSVersionTable.PSVersion.Major
кажется, сообщает точную версию WMF.источник
В PowerShell это доступно из
$PSVersionTable.WSManStackVersion.Major
Моя домашняя система Windows 7:
Затем после установки новой Windows Management Framework:
источник
WSManStackVersion
изначально была 3.0, и она осталась на уровне 3.0. Я думаю, что лучшее руководство - это первые два компонента,PSVersion
которые будут такими же, как версия WMF.Если он установлен, вы найдете его в "appwiz.cpl". Просто не забудьте заглянуть в «Просмотр установленных обновлений», так как WMF распространяется как обновление Windows с уникальными номерами КБ для разных версий Windows.
источник
Вы проверяете, какая версия Windows Management Framework (WMF) установлена, определяя номер КБ версии, которую вы проверяете, и затем используя, в данном случае, wmic-запрос, чтобы определить, установлен ли этот номер КБ. Все эти примеры основаны на использовании cmd.exe для запуска команд.
** Команды для проверки на WMF 4.0
** Пример выполнения команд:
В приведенном выше примере установлен WMF 4.0: КБ возвращается из запроса wmic и нулевого кода возврата.
** Команды для проверки на WMF 5.0
** Пример выполнения команд:
Таким образом, в приведенном выше примере WMF 5.0 не установлен: ничего не возвращается из запроса wmic и ненулевой код возврата.
Возможно, что вы использовали другой КБ для установки данного уровня WMF, но это то, с чем я сейчас работаю.
И я всегда проверяю PowerShell (который устанавливается или обновляется как часть WMF):
Существуют проблемы при обновлении до WMF 4.0 (и снова позже до 5.0), если .NET 4.5 не установлен, поэтому, если команда PS выдает ошибку, вам, вероятно, следует установить .NET 4.5.
источник