Для пользователей, предпочитающих использовать полные имена командлетов PowerShell, код команды выглядит так:
Invoke-Expression -Command "& { $(Invoke-RestMethod -Uri https://aka.ms/install-powershell.ps1) } -UseMSI"
Команда для любителей сокращений и псевдонимов в PowerShell, выглядит так:
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"
Где:
iex
- псевдоним командлета Invoke-Expression
;irm
- псевдоним командлета Invoke-RestMethod
.Что происходит при запуске этого кода?
Invoke-RestMethod
отправляет HTTPS запрос и возвращает код PowerShell из удалённого файла install-powershell.ps1. Посмотреть и разобраться в возвращённом коде можно, сохранив его в локальной копии файла: Invoke-RestMethod -Uri https://aka.ms/install-powershell.ps1 -OutFile .\Desktop\install-powershell.ps1
;Invoke-Expression
выполняет переданную команду, содержащую полученный код PowerShell.Для управления процессом установки обновления, доступны следующие параметры:
-Destination
— путь для установки PowerShell;-Daily
– установка ежедневного билда PowerShell;-DoNotOverwrite
– не перезаписывать целевую директорию установки PowerShell если она уже существует;-AddToPath
— добавить путь установки PowerShell в переменную среды Path
;-UseMSI
– использовать установщик MSI;-Quiet
– использовать параметр quiet для установщика MSI;-AddExplorerContextMenu
– добавить пункт Run with PowerShell в меню Explorer для файлов PowerShell;-EnablePSRemoting
– включить удалённое управление PowerShell.-Preview
– установка Preview Release PowerShell.Рассмотренный пример команды для обновления установленной версии PowerShell Core проверен в операционной системе Microsoft Windows с версией PowerShell Core 7.2.1. В других операционных системах и с другими версиями PowerShell Core способ обновления может отличаться.