Установка PowerShell в Windows

Есть несколько способов установки PowerShell в Windows. Каждый метод установки предназначен для поддержки различных сценариев и рабочих процессов. Выберите метод, который оптимально подходит для вашего случая.

  • Winget — рекомендуемый способ установки PowerShell на клиентах Windows
  • Пакет MSI — лучший выбор для серверов Windows и сценариев корпоративного развертывания
  • ZIP-пакет — самый простой способ сторонней загрузки или установки нескольких версий
    • Используйте этот метод установки для Windows Nano Server, Windows IoT и систем на базе ARM
  • Глобальный инструмент .NET — хороший вариант для разработчиков .NET, устанавливающих и использующих другие глобальные инструменты
  • Пакет Microsoft Store — простой способ установки для обычных пользователей PowerShell, имеет ряд ограничений

Примечание

Команды установки, описанные в этой статье, предназначены для последнего стабильного выпуска PowerShell. Чтобы установить другую версию PowerShell, измените команду в соответствии с нужной версией. По следующим ссылкам вы перейдете на страницу выпуска для каждой версии в репозитории PowerShell в GitHub.

Ссылки для скачивания каждого пакета находятся в разделе Ресурсы на странице выпуска. Раздел ресурсов может быть свернут. В таком случае щелкните его, чтобы развернуть.

Программа командной строки Winget (Диспетчер пакетов Windows) позволяет пользователям обнаруживать, устанавливать, обновлять, удалять и настраивать приложения на клиентских компьютерах с Windows. Она является клиентским интерфейсом для службы Диспетчера пакетов Windows. Программа командной строки winget по умолчанию входит в состав Windows 11 и современных версий Windows 10 в качестве Установщика приложений.

Примечание

Список системных требований и инструкции по установке см. в документации по winget. Winget сейчас не работает на серверах Windows.

Для установки PowerShell с помощью опубликованных пакетов winget можно использовать следующие команды:

Найдите последнюю версию PowerShell.

winget search Microsoft.PowerShell
Name               Id                           Version   Source
-----------------------------------------------------------------
PowerShell         Microsoft.PowerShell         7.3.0.0   winget
PowerShell Preview Microsoft.PowerShell.Preview 7.3.101.0 winget

Установите PowerShell основной или предварительной версии, используя параметр id.

winget install --id Microsoft.Powershell --source winget
winget install --id Microsoft.Powershell.Preview --source winget

Установка пакета MSI

Чтобы установить PowerShell в Windows, воспользуйтесь приведенными ниже ссылками для скачивания пакета установки с сайта GitHub.

После скачивания дважды щелкните файл установщика и следуйте инструкциям на экране.

Программа установки создает ярлык в меню Windows "Пуск".

  • По умолчанию пакет устанавливается в каталог $env:ProgramFiles\PowerShell\<version>.
  • Вы можете запустить PowerShell с помощью меню "Пуск" или файла $env:ProgramFiles\PowerShell\<version>\pwsh.exe.

Примечание

PowerShell 7.3 устанавливается в новый каталог и выполняется параллельно с Windows PowerShell 5.1. PowerShell 7.3 — это обновление на месте, которое заменяет PowerShell 7.0 и более ранние версии.

  • PowerShell 7.3 устанавливается в $env:ProgramFiles\PowerShell\7
  • Папка $env:ProgramFiles\PowerShell\7 добавляется в переменную $env:PATH.
  • Папки для выпущенных ранее версий удалены

Если необходимо запустить PowerShell 7.3 параллельно с другими версиями, используйте метод установки ZIP , чтобы установить другую версию в другую папку.

Поддержка Центра обновления Майкрософт в PowerShell 7.2 и более поздней версии

PowerShell 7.2 и более поздней версии поддерживает Центр обновления Майкрософт. При включении этой возможности вы будете получать последние обновления PowerShell 7 в традиционном потоке управления клиентского компонента Центра обновления Майкрософт, будь то Центр обновления Windows для бизнеса, WSUS, Microsoft Endpoint Configuration Manager или интерактивное диалоговое окно Центра обновления Майкрософт в параметрах системы.

Пакет MSI PowerShell 7.3 включает следующие параметры командной строки:

  • USE_MU — это свойство имеет два возможных значения:
    • 1 (по умолчанию) — согласие на получение обновления с помощью Центра обновления Майкрософт, WSUS или Configuration Manager.
    • 0 — несогласие на получение обновления с помощью Центра обновления Майкрософт, WSUS или Configuration Manager.
  • ENABLE_MU
    • 1 (по умолчанию) — согласие на использование Центра обновления Майкрософт для автоматических обновлений.
    • 0 — несогласие на использование Центра обновления Майкрософт.

Примечание

Включение обновлений можно задать в предыдущей установке или в конфигурации вручную. При использовании ENABLE_MU=0 не удаляются существующие параметры. Кроме того, этот параметр может быть переопределен параметрами групповой политики, управляемыми администратором.

Дополнительные сведения см. в разделе Часто задаваемые вопросы о Центре обновления Майкрософт PowerShell.

Установка пакета MSI из командной строки

MSI-пакеты можно устанавливать из командной строки, что позволяет администраторам развертывать их без взаимодействия с пользователем. MSI-пакет включает в себя следующие свойства для управления параметрами установки:

  • ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL. Это свойство позволяет добавлять пункт Open PowerShell в контекстное меню проводника.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL. Это свойство позволяет добавлять пункт Run with PowerShell в контекстное меню проводника.
  • ENABLE_PSREMOTING. Это свойство позволяет включать удаленное взаимодействие PowerShell во время установки.
  • REGISTER_MANIFEST. Это свойство позволяет регистрировать манифест ведения журнала событий Windows.
  • ADD_PATH — это свойство управляет параметром добавления PowerShell в переменную среды PATH в Windows.

В следующих примерах показано, как выполнить автоматическую установку PowerShell со всеми включенными параметрами.

msiexec.exe /package PowerShell-7.3.0-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1 USE_MU=1 ENABLE_MU=1 ADD_PATH=1

Полный список параметров командной строки для Msiexec.exe см. здесь.

Установка ZIP-пакета

Для поддержки расширенных сценариев развертывания доступны ZIP-архивы двоичных файлов PowerShell. Скачайте один из следующих ZIP-архивов на странице с текущим выпуском.

В зависимости от способа загрузки файла может потребоваться разблокировать файл с помощью командлета Unblock-File. Распакуйте содержимое в выбранное расположение и запустите pwsh.exe. В отличие от установки пакетов MSI при установке ZIP-архива не выполняется проверка соответствия предварительным требованиям. Для правильного удаленного взаимодействия с помощью WSMan необходимо обеспечить соответствие предварительным требованиям.

Используйте этот метод для установки версии PowerShell на основе ARM на таких компьютерах, как Microsoft Surface Pro X. Чтобы получить оптимальные результаты, устанавливайте PowerShell в папку $env:ProgramFiles\PowerShell\7.

Установка в качестве глобального средства .NET

Если вы уже установили пакет SDK для .NET Core, установите PowerShell как глобальное средство .NET.

dotnet tool install --global PowerShell

Установщик инструмента dotnet добавляет $HOME\.dotnet\tools в переменную среды $env:PATH. Но в выполняющейся оболочке нет обновленной переменной $env:PATH. Вы можете запустить PowerShell из новой оболочки, введя pwsh.

Установка из Microsoft Store

PowerShell 7.3 можно установить из Microsoft Store. Этот выпуск PowerShell можно найти на сайте Microsoft Store или в приложении Store в ОС Windows.

Пакет Microsoft Store обеспечивает следующие преимущества:

  • автоматические обновления, встроенные непосредственно в Windows;
  • интеграция с другими механизмами распространения программного обеспечения, такими как Intune и Configuration Manager.
  • может устанавливаться в системах Windows с процессорами x86, x64 или Arm64.

Известные ограничения

По умолчанию пакеты Microsoft Store запускаются в песочнице приложений, которая виртуализирует доступ к некоторым разделам реестра и файловой системы. Изменения виртуальных папок с файлами и разделов реестра сохраняются только внутри песочницы приложений.

Песочница блокирует любые изменения в корневой папке приложения. Параметры конфигурации системного уровня, хранящиеся в $PSHOME, нельзя изменить. Это относится и к конфигурации WSMAN. Это означает, что вы не сможете подключать удаленные сеансы к установкам PowerShell на основе хранилища. Поддерживаются конфигурации уровня пользователя и удаленное взаимодействие по SSH.

Следующим командам требуется запись в $PSHOME. Экземпляр PowerShell из Microsoft Store не поддерживает эти команды.

  • Register-PSSessionConfiguration
  • Update-Help -Scope AllUsers
  • Enable-ExperimentalFeature -Scope AllUsers
  • Set-ExecutionPolicy -Scope LocalMachine

Подробнее см. Основные сведения о работе упакованных классических приложений в Windows.

Изменения в PowerShell 7.2

Начиная с версии PowerShell 7.2, для пакета PowerShell больше не действует виртуализация файлов и реестра. Изменения виртуальных папок с файлами и разделов реестра теперь будут сохраняться вне песочницы приложений. Однако изменения в корневой папке приложения по-прежнему блокируются.

Важно!

Данное исключение действует только в сборках Windows от 1903 и выше.

Установка предварительной версии

Предварительные выпуски PowerShell 7 устанавливаются в $env:ProgramFiles\PowerShell\7-preview, поэтому их можно выполнять параллельно с выпусками PowerShell без предварительной версии. PowerShell 7.4 будет следующим предварительным выпуском.

Обновление существующей установки

Для получения оптимального результата при обновлении используйте тот же метод установки, который вы использовали при первой установке PowerShell. При использовании разных методов установки PowerShell устанавливается в разные расположения. Если вы не знаете, как была выполнена установка PowerShell, вы можете сравнить расположение установки со сведениями о пакетах из этой статьи. Если установка выполнена с помощью пакета MSI, эти сведения будут отображаться в разделе Программы и компоненты Панели управления.

Примечание

При обновлении PowerShell не будет обновлять версию LTS до версии, отличной от LTS. Он обновляется только до последней версии LTS, например с 7.2.3 до 7.2.7. Чтобы обновить выпуск LTS до более новой стабильной версии или следующей версии LTS, необходимо установить новую версию с помощью MSI для этого выпуска.

Если установленная версия не является версией LTS, PowerShell обновляется до последней стабильной версии.

Развертывание в Windows 10 IoT Корпоративная

Windows 10 IoT Корпоративная поставляется со средой Windows PowerShell, которую можно использовать для развертывания PowerShell 7.

# Replace the placeholder information for the following variables:
$deviceip = '<device ip address'
$zipfile = 'PowerShell-7.3.0-win-arm64.zip'
$downloadfolder = 'u:\users\administrator\Downloads'  # The download location is local to the device.
    # There should be enough  space for the zip file and the unzipped contents.

# Create PowerShell session to target device
Set-Item -Path WSMan:\localhost\Client\TrustedHosts $deviceip
$S = New-PSSession -ComputerName $deviceIp -Credential Administrator
# Copy the ZIP package to the device
Copy-Item $zipfile -Destination $downloadfolder -ToSession $S

#Connect to the device and expand the archive
Enter-PSSession $S
Set-Location u:\users\administrator\Downloads
Expand-Archive .\PowerShell-7.3.0-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.3.0-win-arm64
# Be sure to use the -PowerShellHome parameter otherwise it tries to create a new
# endpoint with Windows PowerShell 5.1
.\Install-PowerShellRemoting.ps1 -PowerShellHome .

При настройке удаленного взаимодействия PowerShell появляется сообщение об ошибке и вы отключаетесь от устройства. PowerShell должен перезапустить WinRM. Теперь вы можете подключиться к конечной точке PowerShell 7 на устройстве.


# Be sure to use the -Configuration parameter. If you omit it, you connect to Windows PowerShell 5.1
Enter-PSSession -ComputerName $deviceIp -Credential Administrator -Configuration PowerShell.7.3.0

Развертывание в Windows 10 IoT Базовая

Windows PowerShell добавляется в Windows 10 IoT Базовая, если вы включаете функцию IOT_POWERSHELL, которую можно использовать для развертывания PowerShell 7. Действия, описанные выше для Windows 10 IoT Корпоративная, могут быть выполнены и для центра Интернета вещей.

Чтобы добавить последнюю версию PowerShell в образ для доставки, используйте команду Import-PSCoreRelease для включения пакета в рабочую область и добавления OPENSRC_POWERSHELL в образ.

Примечание

В архитектуре ARM64 Windows PowerShell не добавляется при включении IOT_POWERSHELL. Поэтому установка на основе ZIP-файла не поддерживается. Для добавления в образ используйте команду Import-PSCoreRelease.

Развертывание на Nano Server

В этих указаниях предполагается, что Nano Server — это операционная система для удаленного управления, в которой уже работает какая-либо версия PowerShell. Дополнительные сведения см. в разделе о средстве создания образов Nano Server.

Двоичные файлы PowerShell можно развернуть двумя разными способами:

  1. Автономно — подключите виртуальный жесткий диск Nano Server и распакуйте содержимое ZIP-файла в выбранное расположение в этом образе.
  2. В сети — передайте ZIP-файл через сеанс PowerShell и распакуйте его в выбранное расположение.

В обоих случаях требуется ZIP-пакет выпуска Windows 10 семейства x64. Выполните команды в экземпляре PowerShell с ролью администратора.

Автономное развертывание PowerShell

  1. С помощью любой служебной программы ZIP распакуйте пакет в каталог, находящийся внутри подключенного образа Nano Server.
  2. Отключите образ и загрузите его.
  3. Подключитесь к встроенному экземпляру Windows PowerShell.
  4. Следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра.

Автономное PowerShell в сети

Разверните PowerShell в Nano Server, выполнив действия ниже.

# Replace the placeholder information for the following variables:
$ipaddr = '<Nano Server IP address>'
$credential = Get-Credential # <An Administrator account on the system>
$zipfile = 'PowerShell-7.3.0-win-x64.zip'
# Connect to the built-in instance of Windows PowerShell
$session = New-PSSession -ComputerName $ipaddr -Credential $credential
# Copy the file to the Nano Server instance
Copy-Item $zipfile c:\ -ToSession $session
# Enter the interactive remote session
Enter-PSSession $session
# Extract the ZIP file
Expand-Archive -Path C:\PowerShell-7.3.0-win-x64.zip -DestinationPath 'C:\Program Files\PowerShell 7'

Если вам требуется удаленное взаимодействие на основе WSMan, следуйте инструкциям, чтобы создать конечную точку удаленного взаимодействия с помощью методики использования другого экземпляра.

Удаленное взаимодействие PowerShell

PowerShell поддерживает протокол удаленного взаимодействия PowerShell (PSRP) через SSH и WSMan. Дополнительные сведения см. в разделе:

Чтобы включить удаленное взаимодействие PowerShell через WSMan в более старых версиях Windows, необходимо соблюдать следующие предварительные требования.

  • Установите Windows Management Framework 5.1 (при необходимости). Подробные сведения о WMF см. в статье с обзором WMF.
  • Установите универсальную среду выполнения C в Windows предшествующих Windows 10 версий. Ее можно скачать самостоятельно или через Центр обновления Windows. Этот пакет уже установлен в полностью исправленных системах.

Поддерживаемые версии Windows

В следующей таблице приведен список версий PowerShell, сопоставленных с версиями Windows. Эти версии поддерживаются до окончания поддержки версии PowerShell или Windows.

  • Значок " указывает, что версия ОС или PowerShell по-прежнему поддерживается.
  • Значок " указывает, что версия PowerShell больше не поддерживается в этой версии ОС.
  • Значок В тесте указывает, что тестирование PowerShell в этой ОС еще не завершено.
  • Значок " указывает, что версия ОС или PowerShell не поддерживается.
  • Если и версия ОС, и версия PowerShell имеют значок ", эта комбинация поддерживается.
Windows 7.0 (LTS) 7.1 7.2 (текущая LTS) 7.3
Поддерживается Windows Server 2016, 2019 или 2022 Поддерживается Поддержка не поддерживается Поддерживается Поддерживается
Поддерживаемые Windows Server 2012 R2 Поддерживается Поддержка не поддерживается Поддерживается Поддерживается
Поддерживается Windows Server Core (2012 R2 или более поздняя версия) Поддерживается Поддержка не поддерживается Поддерживается Поддерживается
Поддерживается Windows Server Nano (1809 или более поздней версии) Поддерживается Поддержка не поддерживается Поддерживается Поддерживается
Не поддерживается Windows Server 2012 Поддержка не поддерживается Поддержка не поддерживается Не поддерживается Не поддерживается
Не поддерживается Windows Server 2008 R2 Поддержка не поддерживается Поддержка не поддерживается Не поддерживается Не поддерживается
Поддерживаемые Windows 11 Поддерживается Поддержка не поддерживается Поддерживается Поддерживается
Поддерживается Windows 10 1607 и более поздних версий Поддерживается Поддержка не поддерживается Поддерживается Поддерживается
Поддерживаемые Windows 8.1 Поддерживается Поддержка не поддерживается Не поддерживается Не поддерживается

Примечание

Поддержка конкретной версии Windows определяется политиками жизненного цикла службы поддержки Майкрософт. Дополнительные сведения см. в разделе:

PowerShell поддерживается в Windows для перечисленных ниже архитектур процессора.

Windows 7.0 (LTS) 7.2 (текущая LTS) 7.3
Nano Server версии 1803+ x64, ARM32 X64 X64
Windows Server 2012 R2+ x64, x86 x64, x86 x64, x86
Windows Server Core 2012 R2+ x64, x86 x64, x86 x64, x86
Клиент Windows 10 или 11 x64, x86 x64, x86, ARM64 x64, x86, ARM64
Клиент Windows 8.1 x64, x86 x64, x86 x64, x86

Вы можете проверить версию, которую вы используете, запустив winver.exe.

Поддержка установки

Корпорация Майкрософт поддерживает методы установки, изложенные в этом документе. В других источниках могут быть доступны сторонние методы установки. Хотя такие инструменты и методы могут работать, корпорация Майкрософт не поддерживает их.