Как быстро обновить PowerShell
Содержание вашей версии PowerShell в актуальном состоянии гарантирует, что вы можете использовать последние функции и команды в своих скриптах. Но как обновить PowerShell?
В данный момент существуют две версии PowerShell: Windows PowerShell 5.1 и PowerShell Core (7.x). Большинство модулей переходит на PowerShell 7, но 5.1 по-прежнему в основном используется. К счастью, мы можем использовать эти две версии рядом друг с другом.
В этой статье я объясню, как вы можете обновить обе версии PowerShell и как установить/обновить до PowerShell 7. Если вы не уверены, какую версию вы в данный момент используете, проверьте эту статью о том, как посмотреть вашу версию PowerShell.
Обновите PowerShell 5.1
PowerShell 5.1 по-прежнему является самой распространённой и установленной версией PowerShell на данный момент. Если вы откроете терминал или PowerShell на компьютере с Windows 10/11 или Windows Server 2016 и новее и введете $PSVersionTable, то увидите, что версия 5.1 (1) установлена.
Номер версии состоит из 4 частей:
| Майор | Малый | Строить | Ревизия |
|---|---|---|---|
| 5 | 1 | 22621 | 963 |
Если вы проверяли версию PowerShell на другом компьютере, то могли заметить, что номера сборки и ревизии отличаются. Теперь вы, возможно, думаете, как же мне обновить PowerShell, чтобы номера сборки совпадали?
Проблема заключается в том, что PowerShell 5.1 является частью Windows Management Framework 5.1 и обновляется автоматически вместе с обновлениями Windows. Как видно на скриншоте выше, номера сборки и ревизии совпадают с номерами сборки ОС (2).
Хорошо знать, что PowerShell 5.x больше не разрабатывается. Последней версией является 5.1, и обновлений для неё больше не будет. PowerShell Core 7.x является преемником PowerShell 5.1.
Обновление из более старых версий PowerShell
На более старых операционных системах, таких как Windows Server 2012 R2, вы все еще можете найти установленный PowerShell 4. PowerShell 3 и 4 можно обновить до PowerShell 5.1. Для этого нам нужно установить Windows Management Framework 5.1, который вы можете скачать здесь, на сайте Microsoft. Поддерживаются следующие операционные системы:
- Windows Server 2012 R2
- Windows Server 2012
- Windows Server 2008 R2 SP1
- Windows 8.1
- Windows 7 SP1
Убедитесь, что вы выбрали правильную версию вашей операционной системы и что у вас установлен .Net Framework 4.5 или более новая версия.
После установки вам нужно будет перезагрузить компьютер, чтобы использовать новую версию PowerShell.
Обновить PowerShell
PowerShell Core 7, обычно называемый PowerShell 7, является совершенно новой версией PowerShell. Одно из самых больших отличий заключается в том, что он может использоваться не только на Windows, но и на macOS или Linux, например. Это означает, что мы не можем обновить PowerShell 5.1 до 7, но вместо этого мы можем установить PowerShell 7 рядом с версией 5.1.
Таким образом, вы можете одновременно использовать обе версии на одном компьютере, что хорошо. Потому что не все модули и командлеты доступны в PowerShell 7. Поэтому, прежде чем вы сможете полностью перейти на новую версию, вам придется провести много тестирования, чтобы убедиться, что все ваши скрипты продолжают работать.
Для установки PowerShell 7 у нас есть несколько вариантов:
- WinGet – Встроенный менеджер пакетов в Windows 10 и 11
- Установщик MSI – лучший вариант для серверов Windows
- Магазин Microsoft
- Dev Home – В настоящее время находится в режиме предварительного просмотра, но позволяет легко установить все необходимые пакеты на вашем рабочем компьютере. Узнайте больше о Dev Home в этой статье.
Использование WinGet для установки PowerShell 7
WinGet — это встроенный инструмент командной строки в Windows, который позволяет устанавливать пакеты на вашем компьютере с Windows 10 или 11. Преимущество WinGet заключается в том, что вам нужно выполнить всего одну команду для установки пакета.
В настоящее время доступны две версии PowerShell 7: стабильная версия и версия предварительного просмотра. Я рекомендую устанавливать стабильную версию в производственных средах. Чтобы посмотреть доступные версии, вы можете выполнить следующую команду:
winget search Microsoft.PowerShell
Result
Name Id Version Source
---------------------------------------------------------------
PowerShell Microsoft.PowerShell 7.3.4.0 winget
PowerShell Preview Microsoft.PowerShell.Preview 7.4.0.3 wingetЧтобы установить PowerShell 7, выполните следующую команду:
winget install --id Microsoft.Powershell --source wingetWinget загрузит пакет, после чего начнется установка MSI:
Используя MSI
Менеджер пакетов Windows (Winget) автоматически загружает последнюю версию файла MSI. Если вы не можете или не хотите использовать WinGet, вы также можете скачать файл MSI вручную со страницы PowerShell на GitHub. Другой (более простой) вариант — использовать ссылку для скачивания здесь в документации Microsoft.
- Откройте страницу PowerShell на GitHub
- Нажмите на последнюю версию релиза в правом боковом меню
- Прокрутите вниз на странице релиза
- Скачайте последний файл PowerShell-7.x.x-win-x64.msi
Откройте MSI после его загрузки. У нас есть несколько опций, которые мы можем включить. Я рекомендую установить все опции из установщика:
На следующей странице оставьте включёнными оба варианта обновления. Таким образом, у вас всегда будет установлена последняя стабильная версия PowerShell 7 на вашем компьютере.
Установите через Microsoft Store
Лично я не часто пользуюсь магазином Microsoft, но PowerShell можно установить через магазин. Просто откройте магазин и выполните поиск по запросу PowerShell 7. Убедитесь, что вы выбираете PowerShell, а не версию предварительного просмотра PowerShell, и нажмите Получить.
Используя PowerShell 7
PowerShell 7 - это другое приложение/консоль по сравнению с PowerShell 5.1. Если вы откроете Терминал или PowerShell из меню «Пуск» и выполните команду $PSVersionTable, вы увидите, что номер версии все еще 5.1. Это нормально, потому что на самом деле в этот момент вы используете PowerShell 5.1.
Чтобы использовать PowerShell 7, у вас есть два варианта:
- Откройте его из Главного меню
- Откройте это через Терминал > Новая вкладка
Чтобы открыть его из меню Пуск, просто найдите приложение PowerShell 7. Это откроет новую версию в приложении терминала.
Еще один вариант - использовать встроенный терминал Windows. Если вы нажмете на стрелку вниз (1) рядом с иконкой новой вкладки, вы сможете выбрать PowerShell, который является PowerShell 7. Мы также можем изменить версию PowerShell по умолчанию в терминале на PowerShell 7.
Нажмите на стрелку вниз (1), выберите Настройки и измените профиль по умолчанию (2) на PowerShell.
Если вы выполните команду $PSVersionTable в новой консоли PowerShell, вы увидите, что PSVersion установлен на 7.x.x, а PSEdition — Core:
Обновить команду PowerShell 7
PowerShell Core 7 в настоящее время активно разрабатывается. Новый релиз выходит практически каждый месяц. Теперь PowerShell 7 должен обновляться вместе с вашими обновлениями Windows, если у вас версия 7.2 или выше. Но мы также можем вручную обновить PowerShell одной командой до последней версии. Для этого мы будем использовать инструмент командной строки WinGet.
Чтобы увидеть, какую версию вы сейчас установили, вы можете использовать команду WinGet List ниже:
winget list --id Microsoft.Powershell
Result
Name Id Version Available Source
--------------------------------------------------------------
PowerShell 7-x64 Microsoft.PowerShell 7.3.2.0 7.3.4.0 wingetКак вы видите в приведенных выше результатах, в данный момент установлена версия PowerShell 7.3.2. Также указана последняя доступная версия, которая на момент написания составляет 7.3.4. Чтобы обновить PowerShell, мы можем использовать параметр upgrade в Winget:
winget upgrade --id Microsoft.PowershellПосле завершения обновления вам нужно будет перезагрузить консоль, чтобы использовать новую версию.
Заключение
Поддержание PowerShell 7 в актуальном состоянии важно, чтобы убедиться, что ваши скрипты работают на всех устройствах. Однако PowerShell 5.1 больше не будет получать обновлений, но все еще широко используется. Лично я стараюсь писать большинство своих новых скриптов в PowerShell 7, когда это возможно. Это сделает их актуальными в будущем.
Надеюсь, эта статья помогла вам обновить PowerShell. Если у вас есть какие-либо вопросы или советы, просто оставьте комментарий ниже.








