Как проверить версию PowerShell в Windows

PowerShell — основная оболочка автоматизации и администрирования в Windows. Как и Command Prompt, PowerShell позволяет управлять настройками системы через командную строку. Периодически имеет смысл проверить версию PowerShell на компьютере, чтобы убедиться, что доступны последние функции, исправления и совместимость с модулями.
Коротко о терминах
- PowerShell — оболочка Microsoft, поставляемая с Windows (обычно версия 5.1 на классическом Windows PowerShell).
- PowerShell Core / pwsh — кроссплатформенная версия PowerShell (версии 6 и выше), распространяемая отдельно.
Проверка версии из PowerShell (самый быстрый способ)
- Откройте меню «Пуск». Введите
powershellи выберите подходящую запись. Для PowerShell Core введитеpwsh. - В открытой оболочке выполните команду:
$PSVersionTable- В выводе найдите строку
PSVersion. Это и есть версия PowerShell, установленная в системе.
Пример: PSVersion 5.1.22621.1 означает, что на ПК установлена версия 5.1.
Дополнительные команды, которые иногда полезны:
Get-Host | Select-Object Version
# или для PowerShell Core
pwsh --versionПроверка версии через реестр Windows (без запуска PowerShell)
Если вы не хотите запускать оболочку, можно посмотреть версию через Редактор реестра:
- Откройте меню «Пуск», введите
regeditи запустите Редактор реестра. - Перейдите по пути:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine- В правой части окна найдите значение
PowerShellVersion. В нём указана версия PowerShell, работает ли она в системе.
Когда эти методы могут не сработать и как это проверить
- Ограниченные права: если у вас нет прав администратора, доступ к некоторым ключам реестра и файлам может быть закрыт. Запустите Regedit или PowerShell от имени администратора.
- Наличие обеих версий: на одном ПК могут быть и Windows PowerShell (5.1), и PowerShell Core (pwsh). Убедитесь, какую оболочку вы проверяете.
- Пакетный менеджер: если PowerShell был установлен через сторонний пакет (например, Chocolatey или winget), информация в реестре может не отражать версию pwsh. Для pwsh используйте
pwsh --version.
Альтернативные подходы
- Проверить свойства файла:
- Для классического PowerShell откройте: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -> Свойства -> Подробно -> Версия файла.
- Для PowerShell Core найдите путь к
pwsh.exeи посмотрите версию файла.
- Использовать пакетный менеджер:
winget list --name PowerShellилиchoco list --local-only powershell(если установлены winget/choco). - Сценарий на C# или скрипт используя System.Management.Automation для получения версии программно.
Практическая методология для администратора (короткий SOP)
- Определите цель: проверить системный PowerShell или pwsh.
- Если цель — быстрая проверка, откройте оболочку и выполните
$PSVersionTableилиpwsh --version. - Если нужно централизованно собрать данные с множества машин, используйте удалённое выполнение команд (PowerShell Remoting) или инвентаризацию через SCCM/Intune.
- Если требуется обновление — загрузите официальную сборку с docs.microsoft.com или используйте надёжный пакетный менеджер.
Чек-лист для проверки
- [ ] Проверили
$PSVersionTableилиpwsh --version. - Подтвердили, какая именно оболочка (Windows PowerShell vs PowerShell Core).
- Проверили права доступа при чтении реестра.
- Задокументировали версии для всех управляемых машин.
Decision flow (выбор метода)
flowchart TD
A[Нужно узнать версию PowerShell?] --> B{Установлен pwsh?}
B -- Да --> C[Откройте pwsh и выполните pwsh --version]
B -- Нет --> D[Откройте powershell и выполните $PSVersionTable]
D --> E{Нет доступа к оболочке?}
E -- Да --> F[Откройте regedit и проверьте PowerShellVersion]
E -- Нет --> G[Соберите результат и задокументируйте]Критерии приёмки
- Вы видите строку
PSVersionв$PSVersionTableили значениеPowerShellVersionв реестре. - Для pwsh вы получаете корректную строку через
pwsh --version. - Версия зафиксирована в учёте конфигурации или инвентаре.
Что делать, если версия устарела
Важно: обновляйте PowerShell только из официальных источников. Для PowerShell Core используйте установочный пакет с официальной страницы или менеджер пакетов. Для Windows PowerShell обновления зависят от обновлений Windows и пакетов Feature on Demand.
Важно: разные версии могут быть несовместимы с некоторыми модулями. Перед массовым обновлением протестируйте критичные сценарии в контролируемой среде.
Краткое резюме
Проверить версию PowerShell просто: откройте оболочку и запустите $PSVersionTable или pwsh --version. При отсутствии доступа используйте редактор реестра. Для администраторов добавлены чек-листы и методология для централизованной проверки и обновления.
Замечание: если вам нужна помощь с массовой инвентаризацией версий PowerShell на сотнях машин, можно составить скрипт для удалённого сбора и отчёта — напишите, какой у вас инструмент управления, и я помогу с шаблоном.
Похожие материалы
Как избежать случайной отправки писем в Outlook
Как установить и настроить Wemux для совместной работы
Как вывести деньги с Payoneer
Пропустить больше 10 секунд в YouTube
Как запретить пересылку писем в Outlook