PowerShell 7 ставится рядом со встроенной в Windows оболочкой и ничего в ней не меняет. Инструкция написана для Windows 11, в Windows 10 шаги такие же. Права администратора понадобятся один раз — при установке.
Установите PowerShell 7
Нажмите «Пуск», наберите «Терминал» и откройте его. В открывшейся командной строке выполните команду установки через встроенный менеджер пакетов Windows:
winget install Microsoft.PowerShell
Менеджер скачает официальный пакет Microsoft и установит его. Если менеджер пакетов недоступен, откройте страницу выпусков проекта PowerShell на GitHub, скачайте файл MSI для своей разрядности и запустите его двойным щелчком.
Запустите новую оболочку и проверьте версию
В меню «Пуск» появится пункт PowerShell 7. Запустите его и выполните команду, которая показывает сведения о версии:
$PSVersionTable
В строке с версией должна быть семёрка. Если видите 5.1 — вы открыли встроенную Windows PowerShell. Новая оболочка запускается командой pwsh, старая — командой powershell, и это самый простой способ их различать.
Сделайте PowerShell 7 профилем по умолчанию в терминале
Windows Terminal находит новую оболочку сам. Откройте его настройки и в списке профилей по умолчанию выберите PowerShell 7. Теперь каждая новая вкладка будет открываться уже в седьмой версии.
Освойте справку
Главное умение в PowerShell — находить нужную команду. Выполните обновление справочных файлов, а потом пользуйтесь поиском по командам и подробным описанием с примерами:
Update-Help
Get-Command *service*
Get-Help Get-Process -Examples
Имена команд устроены по схеме «действие-объект»: Get — получить, Set — задать, New — создать, Remove — удалить. Зная схему, вы угадаете половину команд, а автодополнение по клавише Tab допишет остальное.
Попробуйте конвейер
Сила оболочки — в передаче объектов по цепочке. Эта команда найдёт в папке «Загрузки» файлы больше ста мегабайт и покажет их таблицей, отсортированной по размеру:
Get-ChildItem ~\Downloads -File |
Where-Object Length -gt 100MB |
Sort-Object Length -Descending |
Select-Object Name, Length
Сначала запускайте такие цепочки без команд, которые что-то меняют или удаляют, — посмотрите, что попадает в список, и только потом добавляйте действие. У многих команд, которые изменяют данные, есть параметр -WhatIf: с ним оболочка не выполняет действие, а показывает, что сделала бы. Это лучшая страховка от случайно удалённой папки.
Запомните ещё две команды для разбора результата. Get-Member показывает, какие свойства есть у объектов в выводе, — по ним вы и фильтруете. Out-GridView открывает результат отдельной таблицей с сортировкой и поиском, если читать текст в окне неудобно.
Разрешите запуск своих скриптов
По умолчанию Windows не выполняет файлы скриптов — это защита от вредоносных вложений. Чтобы запускать свои скрипты и подписанные чужие, задайте политику только для своей учётной записи:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Настройте файл профиля и сохраните результат
Профиль — это скрипт, который выполняется при каждом запуске оболочки: в нём удобно держать короткие псевдонимы и свои функции. Путь к файлу хранится в переменной $PROFILE, создать и открыть его можно командами New-Item -ItemType File -Path $PROFILE -Force и notepad $PROFILE. После правок перезапустите оболочку.
Готово: PowerShell 7 установлен и открывается по умолчанию, справка работает, свои скрипты запускаются, а настройки сохраняются между сеансами.
Если что-то пошло не так
Команда pwsh не найдена
Закройте и снова откройте окно терминала: путь к новой оболочке добавляется в переменную среды при установке и подхватывается только в новых окнах. Если не помогло, переустановите пакет и перезагрузите компьютер.
Скрипт не запускается, пишет про политику выполнения
Выполните команду установки политики RemoteSigned для текущего пользователя. Если файл скачан из интернета, Windows могла пометить его как небезопасный: снимите блокировку в свойствах файла или командой Unblock-File.
Русские буквы выводятся вопросами или квадратами
Дело в кодировке консоли. Сохраняйте скрипты в UTF-8 и проверьте настройки шрифта терминала: не все шрифты консоли содержат кириллицу.
Старый скрипт из Windows PowerShell 5.1 не работает
Часть старых модулей не перенесена в седьмую версию. Запустите такой скрипт в встроенной оболочке командой powershell — она никуда не делась и работает параллельно.
Комментарии · 0
Комментариев пока нет — задайте вопрос первым.