Как установить и настроить PowerShell 7 в Windows 11: русский язык, UTF-8 и терминал по умолчанию

Estimated read time 3 min read

FAQ

  • Что устанавливать: PowerShell 5.1 или PowerShell 7?
    Сегодня имеет смысл устанавливать именно PowerShell 7.
  • Почему команда winget не работает?
    Обычно отсутствует App Installer из Microsoft Store.
  • Почему в PowerShell появляются кракозябры?
    Проблема почти всегда связана с кодировками cp1251 и UTF-8.
  • Зачем нужен Windows Terminal?
    Старые консольные окна Windows плохо работают с Unicode и современными шрифтами.
  • Что такое pwsh?
    Это исполняемый файл PowerShell 7.

Пошаговая инструкция

  1. Скачать MSI-файл PowerShell 7 с GitHub Releases
  2. Установить PowerShell 7
  3. Запустить pwsh
  4. Проверить версию через $PSVersionTable
  5. Настроить UTF-8
  6. Установить Windows Terminal
  7. Сделать PowerShell 7 терминалом по умолчанию
  8. Настроить 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