Дополнительно
Определите версию установленного PowerShell
Как определить, какая версия PowerShell установлена на компьютере, и установлена ли она вообще?
2531
19
Используйте
$PSVersionTable.PSVersion
для определения версии движка. Если переменная не существует, можно считать, что движок имеет версию1.0
.Обратите внимание, что
$Host.Version
и(Get-Host).Version
не являются надежными - они отражают версию только хоста, а не движка. PowerGUI, PowerShellPLUS и т.д. являются хостинговыми приложениями, и они будут устанавливать версию хоста, чтобы отразить свой продукт version — что совершенно правильно, но не то, что вы'ищете.Я хотел бы использовать либо вам-хозяину или $PSVersionTable. Как Энди Шнайдер отмечает,
$PSVersionTable
не't работа в версии 1, она была введена в версии 2.Чтобы определить, установлен ли PowerShell, вы можете проверить реестр на наличие
и
и, если он существует, равно ли его значение 1 (для installed), как подробно описано в записи блога Проверка наличия установленного PowerShell и версии.
Чтобы определить версию установленного PowerShell, можно проверить ключи реестра
и
Чтобы определить версию PowerShell, которая установлена из сценария .ps1, можно воспользоваться следующим однострочным предложением, подробно описанным на сайте PowerShell.com в статье Which PowerShell Version Am I Running.
На этом же сайте приведена функция для возврата версии:
Вы можете посмотреть на встроенный в переменной
$psversiontable
. Если это не'т существуют, у вас есть В1. Если она действительно существует, он даст вам всю информацию вам нужно.Вы можете сразу проверить версию с одной линией только путем вызова консоли PowerShell внешне, например, из командной строки
По данным @psaul Вы можете на самом деле есть одна команда, которая не зависит от того, где она появилась (команду cmd, PowerShell или ТСЦ). Спасибо Вам за это.
Я'протестировали и она работала безупречно на обоих cmd и PowerShell.
Вы можете убедиться в том, что версии Windows PowerShell установлена, выполнив следующие проверки:
Вам-Хост | Выбрать-Версия Объекта
Вы увидите результат, который выглядит так:
http://www.myerrorsandmysolutions.com/how-to-verify-the-windows-powershell-version-installed/
Майкрософт's рекомендуемый вперед совместимый метод для проверки, если установки PowerShell и определения установленных version, чтобы посмотреть на двух конкретных ключей реестра. Я'вэ воспроизводятся детали в случае, если связь нарушается.
По ссылке:
Чтобы проверить, если версия на PowerShell устанавливается, проверьте следующее значение в реестре:
раздел HKEY_LOCAL_MACHINE\программное обеспечение\Майкрософт\PowerShell с\1
Чтобы проверить, установлена ли версия 1.0 или 2.0 из консоли PowerShell, проверьте следующее значение в реестре:
раздел HKEY_LOCAL_MACHINE\программное обеспечение\Майкрософт\PowerShell с\1 PowerShellEngine\
Я нашел самый простой способ проверить, если установлен был:
PowerShell и затем нажмите Return. Тогда вам следует сделать запрос в PowerShell
ПС`:Затем вы можете проверить версию из командной строки PowerShell команду
$PSVersionTable.PSVersion
:Введите
exit
, если вы хотите, чтобы вернуться в командную строку (выход
снова если вы хотите, чтобы закрыть командную строку).Для запуска скриптов, см. http://ss64.com/ps/syntax-run.html.
`$хозяин.версия-это просто неправильно/ненадежно. Это дает вам версия хостинг исполняемый (powershell.exe, powergui.exe, powershell_ise.exe, powershellplus.exe и т. д.) и не версия самого двигателя.
Двигатель версии содержится в$psversiontable.psversion`. Для PowerShell 1.0, эта переменная не существует, поэтому очевидно, что если эта переменная не доступна вполне безопасно предположить, что двигатель 1.0, очевидно.
Использование:
Вы можете скачать подробный сценарий как определить установленную версию PowerShell с.
Чтобы проверить, установлен ли PowerShell, используйте:
Чтобы проверить, установлен ли RC2 или RTM, используйте:
Источник: этот сайт.
Поскольку наиболее полезный ответ Не'т решать если существует часть, я думал, что я'д дают с собой брать он через быстрые и грязные решения. Он опирается на PowerShell, который будучи в пути переменные среды, что, вероятно, то, что вы хотите. (Наконечник шляпы к началу ответа, как я'т знаю, что.) Вставьте это в текст файл и назовите его
или похожие.
Самый простой способ забыть эту страницу и никогда не вернется к нему, чтобы узнать вам переменная`:
Нет необходимости запоминать каждую переменную. Просто вам будет переменная` достаточно (и "там должно быть что-то о версии и").
Мне нужно проверить версию PowerShell и запустите соответствующий код. Некоторые из наших серверов запустить V5, и другим В4. Это означает, что некоторые функции, такие как сжатие, могут или не могут быть доступны.
Это мое решение:
Ниже командлет вернет версии PowerShell.
Вы также можете позвонить в "хозяина" и команды из командной строки в PowerShell. Это должно дать вам значение
$рать
переменной.Это лучшие результаты поиска для "в пакетный файл Сделать PowerShell версии и", Я'd, как, чтобы обеспечить простой пример, как сделать условное потока в пакетный файл, в зависимости от PowerShell версии
Общий пример
в
Реальный пример
Расширяя ответ с выберите оператора:
Так много ответов здесь. Я думал, что я'd поставил свой, потому что он'ы довольно короткий, и говорит как главных, так и второстепенных версий вместе.