Гид по технологиям

PowerShell на Linux: установка, запуск и настройка

7 min read Linux Обновлено 27 Dec 2025
PowerShell на Linux — установка и запуск
PowerShell на Linux — установка и запуск

TL;DR

PowerShell (pwsh) доступен на большинстве дистрибутивов Linux и даёт объектно-ориентированный интерфейс командной строки, полезный для администраторов и разработчиков, работающих в смешанных средах. Установка зависит от дистрибутива: Microsoft предоставляет репозитории и скрипты для Debian/Ubuntu, RHEL/CentOS, Fedora и других. Для постоянного использования можно сменить логин-шелл на /usr/bin/pwsh через chsh или указать pwsh в shebang скриптов.

Маскот Linux рядом с логотипом PowerShell; окно PowerShell открыто на фоне.

Коротко о PowerShell

PowerShell — это командная оболочка и язык сценариев от Microsoft. Ключевая особенность: пайплайн передаёт не текст, а объекты .NET. Это упрощает сложную обработку данных: вместо парсинга строк вы фильтруете и преобразуете объекты с явными свойствами.

Определение в одну строку: PowerShell — объектно-ориентированная оболочка, где команды возвращают объекты с полями и методами.

Важно: pwsh работает как обычная оболочка на Linux — вы запускаете команды, пишете скрипты и можете использовать знакомые алиасы (например, ls). Но мышление немного иное: думайте в терминах объектов, а не потоков текста.

Почему стоит установить PowerShell на Linux

  • Унификация: если вы управляете смешанными средами Windows и Linux, pwsh позволяет использовать одни и те же скрипты и модули на обеих ОС.
  • Переход с Windows: знакомые команды и модель упрощают миграцию администраторов.
  • Мощные встроенные возможности: доступ к .NET, удобные обработчики форматов (JSON, CSV, XML), модульная экосистема (PSGallery).

Когда это полезно:

  • Автоматизация кроссплатформенных задач.
  • Подготовка скриптов, которые должны работать и на Windows, и на Linux.

Когда не подходит:

  • Лёгкие одноразовые задачи, где достаточно bash/awk/sed.
  • Скрипты, которые обязательно должны быть минималистичными и совместимыми со всеми UNIX-утилитами по философии «текст как интерфейс».

Установка PowerShell — общая стратегия

Установка зависит от дистрибутива. Microsoft предоставляет пакеты и официальные репозитории для нескольких популярных веток Linux. Общая последовательность:

  1. Добавить репозиторий Microsoft (если есть пакет для вашего дистрибутива).
  2. Установить пакет pwsh через менеджер пакетов (apt, yum/dnf, zypper и т.д.).
  3. Проверить путь установки: /usr/bin/pwsh или /opt/microsoft/powershell/<версия>/pwsh.

Ниже — пример для Debian/Ubuntu. Для других дистрибутивов шаги похожи: есть готовые инструкции и скрипты от Microsoft.

Страница установки PowerShell для Debian с копируемым скриптом.

Пример: установка на Debian/Ubuntu (типичный сценарий)

Microsoft публикует скрипт, который добавляет репозиторий и устанавливает пакет. Обычно достаточно скопировать команду со страницы и вставить в терминал. Перед выполнением рекомендуется просмотреть скрипт вручную.

Советы перед запуском скрипта из интернета:

  • Откройте скрипт в редакторе и быстро просмотрите (curl | sed -n ‘1,200p’ или просто открыть в браузере).
  • Убедитесь, что доверяете источнику.

Установка PowerShell в терминале Debian.

После установки проверьте версию:

pwsh --version

Если всё удалось, вы увидите номер версии, например 7.x.x.

Запуск PowerShell на Linux

Чтобы запустить оболочку PowerShell интерактивно, выполните:

pwsh

Вы получите интерактивную сессию pwsh. Команды такие же, как и в других оболочках, но поведение некоторых команд будет объектно-ориентированным. Например, команда dir (алиас Get-ChildItem) вернёт объекты с полями: Mode, LastWriteTime, Length и т.д.

Вывод команды PowerShell dir в Linux.

Завершение сессии: введите exit или нажмите Ctrl+D.

Смена логин-шелла на PowerShell

Если вы хотите, чтобы при входе в систему терминал открывал pwsh по умолчанию, смените логин-шелл.

  1. Убедитесь, что pwsh присутствует в файле /etc/shells:
cat /etc/shells

Вывод команды cat /etc/shells в Linux.

  1. Выберите путь, например /usr/bin/pwsh, и выполните:
chsh -s /usr/bin/pwsh

При смене потребуется ввести пароль. После выхода из сессии и повторного входа новая оболочка будет применена.

Примечание: выбирайте путь без номера версии (например, /usr/bin/pwsh), чтобы обновления пакета не ломали ссылку.

Shebang для скриптов PowerShell

Чтобы запускать скрипт напрямую, укажите shebang в первой строке:

#!/usr/bin/pwsh

Скрипт должен быть исполняемым (chmod +x script.ps1). Это гарантирует, что система запустит сценарий через pwsh.

Краткая шпаргалка (cheat sheet)

  • Запуск интерактивно: pwsh
  • Версия: pwsh –version
  • Выполнение скрипта: ./script.ps1 (если есть shebang и права)
  • Запуск одноразовой команды: pwsh -c “Get-Process | Where-Object CPU -gt 1”
  • Алиасы для привычных команд: ls → Get-ChildItem, dir → Get-ChildItem, cat → Get-Content
  • Работа с потоками: используйте | для передачи объектов, не строк

Ментальная модель: объекты вместо строк

В традиционных UNIX-оболочках вы передаёте текст и парсите его. В PowerShell каждая команда выдаёт объекты с полями и методами. Представьте, что команды — это фабрики, которые создают структурированные записи, которые вы фильтруете и изменяете по полям.

Хорошая привычка: сначала фильтровать, затем выбирать поля, а не наоборот.

Альтернативы и когда PowerShell не подходит

  • Bash/POSIX shell: проще, легче для небольших скриптов, полностью совместим с UNIX-утилитами.
  • Python/Perl: лучше для сложной обработки данных и кроссплатформенных библиотек.
  • Для задач, завязанных на минимальный overhead или контейнеры с ограниченным размером, может быть предпочтительнее использовать нативные шеллы.

Если ваша инфраструктура полностью Linux-native и не требует .NET или модулей PowerShell, изучение bash + стандартных утилит может быть эффективнее.

Советы по безопасности и жёсткая настройка

  • Не делайте pwsh логин-шеллом для пользователей с минимальными привилегиями, если у них нет необходимости.
  • Контролируйте права на скрипты (chmod 700 /path/to/script.ps1 для личных скриптов).
  • Подписывайте критичные сценарии и храните ключи отдельно (на Linux политика подписывания скриптов не принудительна, но полезна для аудита).
  • Не запускайте pwsh от root без необходимости. Используйте sudo для отдельных команд.
  • Отключайте ненужные модули и ограничивайте доступ к PSGallery, если требуется контроль пакетов.

Совместимость и пути установки

Частые пути установки:

  • /usr/bin/pwsh — обычно символьная ссылка на актуальную версию; предпочитаемый путь для chsh/shebang.
  • /opt/microsoft/powershell/7/pwsh — установка с указанием версии.

Поддерживаемые дистрибутивы (обзор): Debian/Ubuntu, RHEL / CentOS, Fedora, SUSE, а также пакеты для ARM-архитектур. Всегда сверяйтесь с официальной страницей PowerShell для вашей версии дистрибутива.

Роли: краткие контрольные списки

  • Системный администратор:

    • Установить pwsh из официального репозитория.
    • Проверить наличие в /etc/shells.
    • Настроить привилегии и права на скрипты.
    • Документировать пути и версии.
  • Разработчик/DevOps:

    • Настроить CI для выполнения ps1-скриптов (уточнить runner образ).
    • Использовать модули из PSGallery только после проверки.
    • Тестировать совместимость Windows/Linux в локальной среде.
  • Новичок в Linux:

    • Использовать pwsh как вспомогательный инструмент для изучения.
    • Пробовать знакомые команды, затем изучать объектную модель.

Критерии приёмки для установки PowerShell

  • pwsh запускается и возвращает корректную версию: pwsh –version.
  • pwsh присутствует в /etc/shells, если планируется использовать через chsh.
  • Скрипт с shebang /usr/bin/pwsh исполняется через ./script.ps1 после chmod +x.
  • Откат: при удалении pwsh systemd/скрипты/cron, зависящие от pwsh, обновлены или удалены.

Тестовые сценарии и проверка

  • Тест 1: Интерактивный запуск pwsh; выполнить Get-ChildItem и сравнить с ls.
  • Тест 2: Создать скрипт с shebang, дать права и запустить; убедиться, что исполняется.
  • Тест 3: Выполнить pwsh -c “Write-Output ‘hello’” и проверить код возврата.
  • Тест 4: Обновление пакета: обновить pwsh и проверить, что /usr/bin/pwsh остаётся валидным.

Быстрые решения проблем

  • pwsh: команда не найдена — проверьте установку и PATH, выполните which pwsh.
  • chsh: «shell не в списке /etc/shells» — добавьте путь в /etc/shells или используйте существующий путь.
  • Скрипт не запускается напрямую — проверьте shebang и флаги chmod.

Важно: перед выполнением копируемых скриптов из интернета всегда просмотрите код.

Мини-методология установки в организации

  1. Определить список дистрибутивов и версии в парке машин.
  2. Подготовить стандартизированный пакет/скрипт установки и внутрений репозиторий (если нужно).
  3. Тестировать установку в staging среде.
  4. Документировать пути, политики прав и ожидаемое поведение при обновлениях.
  5. Развернуть по группам, наблюдая логи и откаты на первом этапе.

Пример короткого анонса для команды (100–200 слов)

PowerShell теперь официально поддерживается на Linux. Это даёт единый инструмент автоматизации для смешанных сред и позволяет использовать знакомые команды и модули как на Windows, так и на Linux. Для установки следуйте инструкциям Microsoft для вашего дистрибутива или используйте централизованный репозиторий. При планировании развертывания учитывайте права на скрипты и политику подписывания. Если нужна помощь с миграцией скриптов или интеграцией в CI, команда инфраструктуры готова помочь.

Заключение

PowerShell на Linux — полезный инструмент для администраторов и разработчиков в смешанных средах. Он не заменит классический UNIX-подход во всех задачах, но даёт мощную альтернативу и облегчает перенос знаний и автоматизации между ОС. Устанавливайте из официальных репозиториев, тестируйте скрипты и следуйте базовым правилам безопасности.

Резюме — ключевые выводы

  • PowerShell доступен и поддерживается на большинстве популярных дистрибутивов Linux.
  • Используйте /usr/bin/pwsh для стабильности при обновлениях.
  • Для постоянного применения можно сменить логин-шелл на pwsh через chsh.
  • Думайте в терминах объектов, а не текста; это основное отличие от bash.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как установить Rust на Linux и начать работу
Программирование

Как установить Rust на Linux и начать работу

ZIP в Node.js: Archiver и Unzipper
Разработка

ZIP в Node.js: Archiver и Unzipper

Как стать PNGTuber — приватный стриминг шаг за шагом
Стриминг

Как стать PNGTuber — приватный стриминг шаг за шагом

Как распознать фальшивые антивирусы и очистители
Кибербезопасность

Как распознать фальшивые антивирусы и очистители

Как защитить компьютер паролем BIOS или UEFI
Безопасность

Как защитить компьютер паролем BIOS или UEFI

KVM на Arch Linux: установка и создание ВМ
Linux

KVM на Arch Linux: установка и создание ВМ