В этой статье мы рассмотрим, как обновить версию Windows PowerShell до актуальной 5.1 и установить (обновить) PowerShell Core 7.0. В предыдущей статье мы рассказывали, что на данный момент есть две ветки PowerShell: старая версия Windows PowerShell (максимальная версия 5.1, которая более не развивается) и новая платформа PowerShell Core (сейчас доступна версия 7.0). Несмотря на то, что нумерация версий PowerShell продолжается с 5.1 (6.0, 6.1, 7.0 и т.д.), это две разные платформы. Соответственно мы рассмотрим отдельно как обновить Windows PowerShell и PowerShell Core.
Обновление Windows PowerShell до 5.1
Попробуем обновить версию Windows PowerShell в Windows Server 2012 R2 до версии 5.1.
По-умолчанию Windows Server 2012 R2 (Windows 8.1) устанавливается с версией 4.0.
Сначала проверим текущую версию PowerShell (на скриншоте видно, что это PowerShell 4.0):
$PSVersionTable.PSVersion
Чтобы обновить вашу версию PowerShell до 5.1, нужно установить пакет Windows Management Framework 5.1, который в свою очередь требует наличия .NET Framework 4.5.2 (или более поздней версии). Убедитесь, что у вас установлена версий .NET 4.5.2 или выше командой:
(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release
В моем случае код 378675 говорит о том, что установлена версия .NET 4.5.1. Поэтому мне нужно скачать и установить более новую .NET Framework 4.8 (ссылка на офлайн установщик https://go.microsoft.com/fwlink/?linkid=2088631 — ndp48-x86-x64-allos-enu.exe).
Установите .NET 4.8 (потребуется перезагрузка).
Скачайте WMF 5.1 для Windows Server 2012 R2 — Win8.1AndW2K12R2-KB3191564-x64.msu (https://go.microsoft.com/fwlink/?linkid=839516).
Установите Windows Management Framework 5.1.
После перезагрузки сервера, запустите консоль PS и убедитесь, что версия была обновлена до PowerShell 5.1.
Установка/обновление PowerShell Core 7.0
Обратите внимание, что последняя версия Windows PowerShell, устанавливаемая в Windows 10 и Windows Server 2109 — PowerShell 5.1. Вместо нее Microsoft начала разрабатывать кроссплатформенную версию PowerShell Core. На данный момент доступны версии PowerShell Core 6.0, 6.1, 6.2 и 7.0. По сути PowerShell Core это новая платформа, которая устанавливается в системе вместе с Windows PowerShell. Т.е. нельзя обновить PowerShell 5.1 до PowerShell Core 7.0. PowerShell 7 устанавливается на компьютере отдельно от Windows PowerShell 5.1.
Если у вас уже установлен PowerShell Core 6.0, вы можете обновить версию PowerShell на своем компьютере до последней версии PowerShell 7.0 Core (либо можно установиь PowerShell Core 7.0 рядом с Windows PowerShell 5.1). В этом примере мы попробуем обновить версию PowerShell Core в Windows 10 1909. Есть два способа обновления:
- Можно вручную скачать msi установщик PowerShell Core на GitHub
- Можно скачать и запустить установку (обновление) непосредственно из консоли PowerShell
Если вы хотите установаить PowerShell Core с помощью MSI пакета, перейдите на старицу проекта https://github.com/PowerShell/PowerShell, найдите последний релиз (на момент написания статьи это v7.0.0 Release of PowerShell от 4 марта, доступны также более новые v7.1.0-preview Release of PowerShell, но лучше пока не ставить их до выхода стабильной версии). Разверните список Assets и найдите пакет для вашей версии Windows (PowerShell-7.0.0-win-x64.msi или PowerShell-7.0.0-win-x86.msi).
Скачайте msi файл и установите его.
msiexec.exe /package PowerShell-7.0.0-win-x64.msi /quiet ADD_EXPLORER_CONTEXT_MENU_OPENPOWERSHELL=1 ENABLE_PSREMOTING=1 REGISTER_MANIFEST=1
Вы можете обновить PowerShell непосредственно из консоли.
Обновим (установим) последнюю версию PoSh Core с помощью команды:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
- -Destination – каталог установки PowerShell Core
- -Preview – установка Preview версии
- -Quiet – тихая установка
- -AddToPath – добавить путь к каталогу установки PowerShell Core в переменные окружения
Данная команда загружает установочный MSI файл PowerShell 7.0 с GitHub и запускает установку, затем запускается установка через MSI Installer.
После окончания установки открывается окно PowerShell Core (pwsh.exe), проверьте версию PowerShell и убедитесь, что теперь это PoSh 7.0.0.
Если у вас установлен менеджер пакетов Chocolatey, вы можете установить или обновить версию PowerShell командами:
choco install powershell -y
choco upgrade powershell -y
Обратите внимание, что имя исполняемого файла среды PowerShell изменился. Теперь это c:\Program Files\PowerShell\7\pwsh.exe
. У него собственная иконка в меню Start.
- Для запуска Windows PowerShell, основанного на .NET Framework используется команда
powershell.exe
- Для запуска PowerShell Core, основанного на .NET Core, нужно использовать команду
pwsh.exe
Т.е. теперь на этом компьютере есть две версии: Windows PowerShell 5.1 и PowerShell Core 7.0
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 4
спасибо-познавательно очень-