dimayakovlev.ru


Как обновить PowerShell из PowerShell

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

Окно терминала PowerShell с уведомлением о выходе нового стабильного релиза PowerShell

Для пользователей, предпочитающих использовать полные имена командлетов 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.

Что происходит при запуске этого кода?

  1. Командлет Invoke-RestMethod отправляет HTTPS запрос и возвращает код PowerShell из удалённого файла install-powershell.ps1. Посмотреть и разобраться в возвращённом коде можно, сохранив его в локальной копии файла: Invoke-RestMethod -Uri https://aka.ms/install-powershell.ps1 -OutFile .\Desktop\install-powershell.ps1;
  2. Командлет 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 способ обновления может отличаться.