Установка 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.4.1.0   winget
PowerShell Preview Microsoft.PowerShell.Preview 7.4.0.101 winget

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

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

Примечание.

В системах Windows с помощью процессора winget X86 или X64 устанавливается пакет MSI. В системах с помощью процессора winget Arm64 устанавливается пакет Microsoft Store (MSIX). Дополнительные сведения см. в разделе "Установка" из Microsoft Store.

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

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

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

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

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

Примечание.

PowerShell 7.4 устанавливает в новый каталог и выполняется параллельно с Windows PowerShell 5.1. PowerShell 7.4 — это обновление на месте, которое удаляет предыдущие версии PowerShell 7. Предварительные версии PowerShell можно установить параллельно с другими версиями PowerShell.

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

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

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

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

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

  • 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 элемента в контекстное меню в Windows Обозреватель.
  • ADD_FILE_CONTEXT_MENU_RUNPOWERSHELL— Это свойство управляет параметром добавления Run with PowerShell элемента в контекстное меню в Windows Обозреватель.
  • ENABLE_PSREMOTING — Это свойство управляет параметром включения удаленного взаимодействия PowerShell во время установки.
  • REGISTER_MANIFEST — Это свойство управляет параметром регистрации манифеста ведения журнала событий Windows.
  • ADD_PATH — это свойство управляет параметром добавления PowerShell в переменную среды PATH в Windows.
  • DISABLE_TELEMETRY — Это свойство управляет параметром отключения телеметрии PowerShell, задав POWERSHELL_TELEMETRY_OPTOUT переменную среды.
  • INSTALLFOLDER — Это свойство управляет каталогом установки. Значение по умолчанию — $env:ProgramFiles\PowerShell\. Это расположение, в котором установщик создает вложенную папку с версиями. Невозможно изменить имя вложенной папки с версиями.
    • Для текущих выпусков вложенная папка с версиями 7
    • Для предварительных версий вложенная папка имеет версию. 7-preview

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

msiexec.exe /package PowerShell-7.4.1-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 Global

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

dotnet tool install --global PowerShell

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

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

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

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

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

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

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

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

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

  • 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, можно проверка значение переменной$PSHOME, которое всегда указывает на каталог, содержащий PowerShell, который выполняется текущий сеанс.

  • Если значение равно $HOME\.dotnet\tools, PowerShell был установлен с помощью средства .NET Global.
  • Если значение равно$Env:ProgramFiles\PowerShell\7, PowerShell был установлен как пакет MSI или winget на компьютере с процессором X86 или x64.
  • Если значение начинается с $Env:ProgramFiles\WindowsApps\, PowerShell был установлен как пакет Microsoft Store или с Winget на компьютере с процессором ARM.
  • Если значение является чем-либо другим, скорее всего, PowerShell был установлен в качестве ZIP-пакета.

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

Чтобы определить, может ли PowerShell быть обновлена с помощью Winget, выполните следующую команду:

winget list --name PowerShell --upgrade-available

Если доступно обновление, выходные данные указывают последнюю доступную версию.

Примечание.

При обновлении PowerShell не будет обновляться с версии LTS до версии, отличной от LTS. Она обновляется только до последней версии LTS, например с 7.2.3 до 7.2.18. Чтобы обновить выпуск 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.4.1-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.4.1-win-arm64.zip

# Set up remoting to PowerShell 7
Set-Location .\PowerShell-7.4.1-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.4.1

Развертывание в 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.4.1-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.4.1-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.2 (LTS-previous) 7.3 7.4 (LTS-current)
Поддерживается Windows Server 2016, 2019 или 2022 Поддерживаемые Поддерживаемые Поддерживается
Поддерживается Windows Nano Server (1809 или выше) Поддерживаемые Поддерживаемые Поддерживается
Поддерживается Windows 11 Поддерживаемые Поддерживаемые Поддерживается
Поддерживается Windows 10 1607 и выше Поддерживаемые Поддерживаемые Поддерживается

Примечание.

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

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

Windows 7.2 (текущая LTS) 7.3 7.4 (LTS-current)
Windows Server 2016+ x64, x86 x64, x86 x64, x86
Windows Server Core 2016+ x64, x86 x64, x86 x64, x86
Nano Server версии 1803+ x64 x64 x64
Клиент Windows 11 x64, ARM64 x64, ARM64 x64, ARM64
Клиент Windows 10 x64, x86, ARM64 x64, x86, ARM64 x64, x86, ARM64

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

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

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