FAQ
- Что устанавливать: PowerShell 5.1 или PowerShell 7?
Сегодня имеет смысл устанавливать именно PowerShell 7. - Почему команда winget не работает?
Обычно отсутствует App Installer из Microsoft Store. - Почему в PowerShell появляются кракозябры?
Проблема почти всегда связана с кодировками cp1251 и UTF-8. - Зачем нужен Windows Terminal?
Старые консольные окна Windows плохо работают с Unicode и современными шрифтами. - Что такое pwsh?
Это исполняемый файл PowerShell 7.
Пошаговая инструкция
- Скачать MSI-файл PowerShell 7 с GitHub Releases
- Установить PowerShell 7
- Запустить pwsh
- Проверить версию через $PSVersionTable
- Настроить UTF-8
- Установить Windows Terminal
- Сделать PowerShell 7 терминалом по умолчанию
- Настроить profile.ps1
Чек-лист
- pwsh запускается
- Русский текст отображается корректно
- UTF-8 включен
- Windows Terminal используется по умолчанию
- PowerShell 7 открывается через Win+X
- profile.ps1 работает
- Шрифт Cascadia Code установлен
Как установить и настроить PowerShell 7 в Windows 11: русский язык, UTF-8 и терминал по умолчанию
История началась с простой задачи: установить «PS10». И вот здесь возникает первая проблема современного Windows-мира. Многие пользователи путают между собой PowerShell 5.1, PowerShell 7, .NET 10, Windows Terminal и GitHub Releases.
На первый взгляд кажется, что PowerShell — это просто синее окно командной строки. Но если копнуть глубже, выясняется, что Microsoft уже давно живет сразу в нескольких поколениях PowerShell одновременно. Из-за этого новичок очень быстро попадает в хаос терминов, версий и странных файлов.
В этой статье разберем реальную установку PowerShell 7.6.1 на Windows 11 с нормальным русским языком, UTF-8, современным терминалом и настройкой системы так, чтобы PowerShell наконец начал вести себя как современная консоль, а не как артефакт эпохи Windows XP.
Почему возникает путаница вокруг PowerShell
Когда пользователь начинает искать PowerShell в интернете, он сталкивается сразу с несколькими сущностями:
- Windows PowerShell 5.1
- PowerShell 7
- .NET 10
- GitHub Releases
- Windows Terminal
- pwsh
- powershell.exe
И самое неприятное — все это действительно связано между собой.
Windows PowerShell 5.1 — это старая встроенная версия, которая идет вместе с Windows. Она основана на старом .NET Framework и сегодня уже считается legacy-средой. Legacy — это устаревшая технология, которую продолжают поддерживать ради совместимости.
PowerShell 7 — это уже современная отдельная платформа на базе .NET. Она развивается независимо от Windows и распространяется через GitHub.
Именно поэтому попытка установить «новый PowerShell» часто приводит человека на GitHub Releases, где его встречают десятки файлов с непонятными названиями.
Почему GitHub Releases пугает новичков
Когда пользователь впервые открывает страницу релизов PowerShell, он видит огромное количество файлов:
- msi
- zip
- rpm
- tar.gz
- deb
- arm64
- x86
- x64
- fxdependent
Для человека без опыта это выглядит как склад бинарного мусора.
На самом деле обычному пользователю Windows 11 нужен только один файл:
PowerShell-7.6.1-win-x64.msi
Именно MSI — это нормальный Windows-установщик.
НЕ нужно скачивать:
- архивы zip
- исходники
- tar.gz
- linux-пакеты
- arm64 если у вас обычный x64 ПК
- fxdependent версии
Очень важный момент: GitHub показывает абсолютно все варианты сборок для всех платформ сразу. Это удобно для разработчиков, но ужасно для новичков.
Почему не работал winget
Сначала была предпринята попытка установить PowerShell через:
winget install Microsoft.PowerShell
Но система выдала ошибку:
winget : Имя "winget" не распознано
Многие удивляются: как так, ведь Windows 11 современная система?
На практике winget отсутствует довольно часто.
Причины:
- удален App Installer
- урезанная сборка Windows
- локальная корпоративная политика
- старый образ Windows
- поврежден Microsoft Store
Технически winget — это не часть ядра Windows. Он приходит вместе с приложением App Installer из Microsoft Store.
Поэтому отсутствие winget — это не баг PowerShell.
В такой ситуации ручная установка через MSI оказывается даже проще и надежнее.
Как правильно установить PowerShell 7
После скачивания файла:
PowerShell-7.6.1-win-x64.msi
запускаем установщик.
На этапе выбора параметров важно не просто нажимать Next.
Рекомендуется включить:
- Add PowerShell to PATH
- Register Windows Event Logging Manifest
- Enable PowerShell remoting
- Add ‘Open here’ context menus
- Enable updates via Microsoft Update
Особенно важен PATH.
Без него команда pwsh не будет запускаться из терминала.
Что такое pwsh
После установки появляется новая команда:
pwsh
Это исполняемый файл PowerShell 7.
Старый PowerShell запускается через:
powershell.exe
А современный PowerShell 7 запускается через:
pwsh.exe
Это очень важно понимать.
Многие пользователи думают, что обновили PowerShell, но продолжают запускать старый powershell.exe.
Как проверить успешную установку
Открываем терминал и выполняем:
pwsh
Если все установлено правильно, появится примерно такой вывод:
PowerShell 7.6.1
Теперь проверяем информацию о среде:
$PSVersionTable
Должно появиться:
PSVersion 7.6.1 PSEdition Core
PSEdition Core — это важный признак PowerShell 7.
Почему возникают кракозябры в PowerShell
Вот здесь начинается настоящая боль Windows-консолей.
Исторически Windows использовала кодировку cp1251 для русского языка.
Но современный мир давно перешел на UTF-8.
UTF-8 — это способ хранения Unicode-символов.
Unicode — единая система символов для всех языков мира.
Проблема в том, что старая консоль Windows десятилетиями работала через legacy-кодировки:
- cp866
- cp1251
- OEM codepages
Из-за этого появляются:
- кракозябры
- вопросительные знаки
- сломанные символы
- нечитаемый вывод Git
- битая кириллица в Python
- проблемы с UTF-8 файлами
PowerShell 7 сам по себе работает с UTF-8 намного лучше старых версий.
Но если терминал старый — проблемы остаются.
Почему нужен Windows Terminal
Старый Console Host Windows — это архитектура из очень древних версий Windows.
Windows Terminal — это уже современный GPU-ускоренный терминал с нормальной поддержкой Unicode.
Именно он делает PowerShell 7 действительно современным.
Без Windows Terminal даже новый PowerShell может выглядеть как консоль 2005 года.
Как проверить текущую кодировку консоли
Выполняем:
chcp
Если видим:
866
или:
1251
значит консоль работает в старой кодировке.
Как временно включить UTF-8
chcp 65001
65001 — это UTF-8 codepage Windows.
После этого русский текст обычно начинает отображаться корректно.
Но только до закрытия окна.
Как настроить UTF-8 постоянно
В PowerShell 7 можно явно указать кодировки:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $OutputEncoding = [System.Text.Encoding]::UTF8
Но вручную это делать неудобно.
Поэтому используется profile.ps1.
Что такое profile.ps1
Это сценарий автозагрузки PowerShell.
Он выполняется при запуске pwsh.
Проверяем путь:
$PROFILE
Создаем профиль:
New-Item -ItemType File -Path $PROFILE -Force
Открываем его:
notepad $PROFILE
Добавляем:
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8 $OutputEncoding = [System.Text.Encoding]::UTF8 chcp 65001 > $null
После этого UTF-8 будет включаться автоматически.
Как проверить русский текст
"Привет, PowerShell 7"
Если текст отображается нормально — настройка выполнена правильно.
Какие шрифты лучше использовать
Очень многие проблемы Windows-консоли на самом деле связаны со шрифтами.
Старые консольные шрифты:
- Raster Fonts
- Lucida Console
ужасно работают с Unicode.
Сегодня оптимальный вариант:
- Cascadia Code
- Cascadia Mono
Именно эти шрифты Microsoft разрабатывает для современных терминалов.
Они:
- хорошо отображают UTF-8
- поддерживают лигатуры
- нормально рендерят кириллицу
- читаются лучше старых шрифтов
Как сделать PowerShell 7 терминалом по умолчанию
Даже после установки Windows часто продолжает открывать старый Windows PowerShell 5.1.
Это одна из самых раздражающих особенностей Windows 11.
Что такое Terminal Host
Terminal Host — это старая консольная подсистема Windows.
Именно она открывает древние черные окна cmd и powershell.exe.
Windows Terminal — современная замена.
Как включить Windows Terminal по умолчанию
Открываем:
Параметры → Конфиденциальность и безопасность → Для разработчиков → Терминал
Выбираем:
Windows Terminal
Как сделать pwsh профилем по умолчанию
В Windows Terminal:
Settings → Startup → Default profile
Выбираем:
PowerShell
Важно убедиться, что это именно PowerShell 7, а не Windows PowerShell.
Обычно путь должен содержать:
pwsh.exe
PowerShell 7 через Win+X
После настройки Windows Terminal меню Win+X начинает использовать новый терминал.
Это одна из причин, почему стоит полностью переходить на Windows Terminal.
PowerShell 7 через Проводник
Если при установке были включены context menu options, появятся пункты:
- Open in Terminal
- Open PowerShell here
Это сильно ускоряет работу с проектами и папками.
Почему PowerShell 7 фактически стал стандартом
Сегодня большинство современных DevOps-инструментов уже ориентируются именно на pwsh.
Причина простая: старый Windows PowerShell технологически устарел.
Microsoft фактически заморозила его развитие.
Современные инструменты ожидают:
- UTF-8
- Unicode
- современный .NET
- Linux/macOS совместимость
- современные API
PowerShell 7 дает:
- более высокую скорость
- нормальную UTF-8 поддержку
- современные модули
- кроссплатформенность
- совместимость с современными CLI
- адекватную работу GitHub CLI
- нормальную работу Python tooling
- лучшее взаимодействие с Docker и DevOps
Очень многие современные скрипты уже тестируются только на PowerShell 7.
Особенно это заметно в open-source мире.
Типичные ошибки после установки
- Запускается старый powershell.exe вместо pwsh
- Не добавлен PATH
- Осталась cp866
- Используется старый Console Host
- Плохой шрифт
- Не настроен profile.ps1
- Установлен ARM64-пакет вместо x64
Что делать после установки PowerShell 7
После базовой настройки PowerShell 7 открывается огромный мир современной автоматизации Windows.
Следующие логичные шаги:
- установить Windows Terminal
- настроить Oh My Posh
- освоить PowerShell automation
- установить GitHub CLI
- разобраться с winget
- создать собственный profile.ps1
- подключить SSH и Git
- изучить PowerShell modules
Итоги
Главная проблема PowerShell сегодня — не сама установка.
Проблема в том, что Windows одновременно тащит за собой 20 лет legacy-консольной архитектуры и пытается перейти в современный Unicode-мир.
Из-за этого новичок попадает сразу в несколько эпох Windows одновременно.
Но если правильно установить PowerShell 7, включить UTF-8, перейти на Windows Terminal и настроить profile.ps1 — Windows-консоль внезапно превращается в действительно современный инструмент разработки и автоматизации.

+ There are no comments
Add yours