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

Windows PowerShell — это основной инструмент автоматизации задач и администрирования в Windows. Он позволяет управлять настройками системы и выполнять сценарии из командной строки.
Проверка установленной версии PowerShell важна: это гарантирует доступ к нужным командлетам, модулю и возможностям безопасности. Ниже приведены понятные шаги, альтернативы и практические советы для разных ролей (пользователь, администратор, разработчик).
Как проверить версию PowerShell из самого PowerShell
- Откройте меню Пуск, введите powershell и запустите соответствующее приложение (PowerShell или PowerShell (Admin) при необходимости прав).
- Введите и выполните команду:
$PSVersionTable- В выводе найдите значение PSVersion — это версия PowerShell на вашей машине.
Пример: в выводе может быть PSVersion 5.1.xxxx — это стандартная Windows PowerShell 5.1. Начиная с PowerShell 6/7 (PowerShell Core/PowerShell 7+), информация может выглядеть иначе и дополняться полем PSEdition (Core vs Desktop).
Как проверить версию PowerShell через реестр Windows
Если вы не хотите запускать PowerShell, можно посмотреть значение в реестре Windows:
- Откройте меню Пуск, введите regedit и запустите Редактор реестра.
- Перейдите по адресу:
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\3\PowerShellEngine- Найдите параметр PowerShellVersion — в нём хранится номер установленной версии.
Важно: если в системе установлены несколько версий PowerShell (например, Windows PowerShell 5.1 и PowerShell 7), реестр может отражать только версию встроенной подсистемы (обычно 5.1). PowerShell 7 устанавливается отдельно и не всегда меняет этот ключ.
Быстрая методология (шаг за шагом)
- Для обычного пользователя: откройте PowerShell и выполните $PSVersionTable.
- Для сценариев автоматизации: используйте скрипт, который проверяет $PSVersionTable.PSVersion.Major и принимает решение по ветвлению.
- Для администраторов: проверяйте наличие PowerShell 7 через путь установки (например, Program Files) и версию модуля Microsoft.PowerShell.Core.
Альтернативные способы
- Проверка установленных пакетов: если PowerShell установлен через пакетный менеджер (например, winget или пакет MSI), проверьте список установленных программ в «Приложениях и возможностях» или через winget list.
- PowerShell Core/7+: запустите pwsh (вместо powershell) и выполните $PSVersionTable, если используется PowerShell 7+.
- Сеть/сбор данных: в крупных средах используйте инструменты инвентаризации (SCCM, Intune, CMDB) для централизованного сбора версий PowerShell на хостах.
Когда способ может не сработать
- Реестр показывает только встроенную версию (обычно 5.1). Если установлены несколько релизов, реестр может вводить в заблуждение.
- На системах с ограниченными правами вы не сможете открыть regedit или запустить PowerShell с админ-правами.
- В контейнерах или минимальных образах Windows некоторые ключи реестра или компоненты PowerShell могут отсутствовать.
Контрольные списки по ролям
Обычный пользователь:
- Открыть Пуск → powershell
- Выполнить $PSVersionTable
- Записать значение PSVersion
Системный администратор:
- Проверить $PSVersionTable на целевых хостах
- Сверить с реестром и установленными пакетами
- Оценить необходимость обновления (совместимость скриптов)
Разработчик/DevOps:
- Проверить PSEdition и версии модулей
- Убедиться, что CI/CD агенты используют требуемую версию pwsh или powershell
Критерии приёмки
- Версия определена: значение PSVersion получено и записано.
- Для производственной среды: подтверждена совместимость скриптов с текущей версией.
- При обновлении: выполнено тестирование критичных скриптов в тестовом окружении на новой версии.
Совместимость и советы по миграции
- Windows PowerShell 5.1 — последняя версия «Desktop»-ветки; многие системные скрипты на неё ориентированы.
- PowerShell 6/7 (PowerShell Core/PowerShell 7+) — кроссплатформенный, активно развивается; при переходе проверьте PSEdition, модули и поведение командлетов.
- Рекомендуется запускать параллельно: оставить 5.1 для совместимости и установить PowerShell 7 для новых задач.
Краткий глоссарий (1‑строчные определения)
- PSVersion: номер версии PowerShell, показывается в выводе $PSVersionTable.
- PSEdition: издание PowerShell (Desktop для Windows PowerShell, Core для PowerShell 7+).
- pwsh: бинарник для PowerShell 6/7 (PowerShell Core).
Итог
Проверить версию PowerShell просто: чаще всего достаточно запустить PowerShell и выполнить $PSVersionTable, затем найти PSVersion. Если требуется обходной путь — смотрите значение PowerShellVersion в реестре. Для больших окружений используйте централизованные инструменты инвентаризации и тестируйте обновления в тестовой среде.
Заметки: если вы планируете обновлять PowerShell, сначала проверьте совместимость скриптов и модулей; в большинстве случаев безопаснее установить PowerShell 7 параллельно с 5.1.
Похожие материалы
Ошибка 126 в Windows — как исправить
Горячая клавиша для скачивания изображений в Windows
Как исправить ошибку VAN9001 (TPM 2.0 и Secure Boot)
VMware Workstation 17 Player — обновление и инструкция
Изменить зарегистрированного владельца Windows 11