Установка PowerShell на Ubuntu 20.04

Краткое описание
PowerShell — это инструмент управления конфигурацией и автоматизации задач в Windows, который также доступен для Linux как PowerShell Core (pwsh). Он позволяет запускать скрипты, управлять удалёнными и локальными машинами и интегрироваться с существующими инструментами администрирования.
Что потребуется
- Сервер с Ubuntu 20.04.
- Доступ root или пользователь с sudo-привилегиями.
Быстрый план действий
- Обновить пакеты:
apt-get update -y - Установить PowerShell: через snap или из пакета Microsoft
- Запустить
pwshи проверить версию
Установка PowerShell через snapd
- Установите snap и snapd:
apt-get install snap snapd -y- Установите PowerShell (классический режим):
snap install powershell --classic- Запустите PowerShell:
pwshОжидаемый пример вывода:
PowerShell 7.1.2
Copyright (c) Microsoft Corporation.
https://aka.ms/powershell
Type 'help' to get help.
PS /root>- Выход из pwsh:
exit- Удаление через snap:
snap remove powershellВажно: snap-пакеты изолируют приложения и удобны для быстрого развёртывания. На серверах с ограничениями безопасности или без snap лучше использовать способ с репозиторием.
Установка PowerShell из репозитория Microsoft
- Скачайте пакет репозитория Microsoft (команда автоматически подставляет версию Ubuntu):
wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb- Установите пакет репозитория:
dpkg -i packages-microsoft-prod.deb- Обновите индекс пакетов и установите PowerShell:
apt-get update -y
apt-get install powershell -y- Запустите pwsh и проверьте:
pwshПример вывода аналогичен приведённому выше.
Примечание: этот метод даёт системный пакет, который обновляется через apt вместе с другими системными обновлениями.
Основные команды и примеры использования
Ниже — набор полезных команд для повседневной работы в pwsh на Linux.
- Показать текущую директорию или содержимое:
PS /root> dirПример вывода каталога (образец):
Directory: /root
Mode LastWriteTime Length Name
---- ------------- ------ ----
d---- 2/23/2021 1:48 PM snap
----- 1/7/2021 2:45 AM 162406548 nexus-3.29.2-02-unix.tar.gz
----- 4/23/2020 7:02 PM 3124 packages-microsoft-prod.deb- Получить сведения о хосте PowerShell:
PS /root> Get-Host- Показать историю команд:
PS /root> Get-History- Информация по процессам:
PS /root> Get-Process- Получить справку по cmdlet или команде:
PS /root> Get-Help Set-Location- Удаление пакета PowerShell (репозиторий apt):
apt-get remove powershell -yСовет по переходу с bash на PowerShell
PowerShell использует объекты .NET вместо текстовых потоков. Это меняет привычную модель «текст на вход / текст на выход» — результат команд можно фильтровать и преобразовывать как структуры данных.
Короткое определение: PowerShell — это объектно-ориентированная оболочка и язык сценариев для автоматизации.
Чек-листы по ролям
Для системного администратора:
- [ ] Обновить систему:
apt-get update -yиapt-get upgrade -y. - Выбрать способ установки (snap или apt).
- Проверить сетевые политики и доступ к packages.microsoft.com.
- [ ] Запустить
pwshи проверитьGet-Host. - Настроить ротацию логов и бэкапы скриптов.
- [ ] Обновить систему:
Для разработчика/DevOps:
- Установить pwsh в локальной среде разработки.
- Проверить совместимость модулей PowerShell с Linux.
- Автоматизировать тесты сценариев в CI (использовать pwsh-core runner).
Быстрый cheat sheet (часто используемые команды)
- Запуск pwsh:
pwsh - Получить помощь:
Get-Help - Список процессов:
Get-Process - Список файлов:
Get-ChildItemилиdir - История команд:
Get-History - Выход:
exit
Когда установка может не пройти и способы устранения
- Ошибка доступа к интернету или блокировка пакета Microsoft: проверьте прокси/фаервол.
- Проблемы с snap: убедитесь, что служба snapd запущена (
systemctl status snapd). - dpkg сообщает о зависимостях: выполните
apt-get -f installдля автоматического исправления. - Версия Ubuntu не поддерживается: проверьте
lsb_release -rsи официальную документацию PowerShell.
Если после установки pwsh не запускается — запустите pwsh -v и посмотрите вывод ошибки; часто достаточно переустановить пакет или обновить зависимости.
Мини-методология внедрения PowerShell в инфраструктуру
- Оценка: какие сценарии автоматизации перенести в PowerShell.
- Прототип: написать 1–2 скрипта и протестировать в локальной среде.
- Стенд: развернуть pwsh на тестовых серверах и интегрировать с CI.
- Внедрение: перевести критичные скрипты в продуктив, настроить мониторинг.
- Обучение: обеспечить доступ к справке и внутренним шаблонам команд.
Критерии приёмки
- pwsh запускается без ошибок под root и под sudo-пользователем.
- Выполняются ключевые сценарии (список файлов, опрос процессов, запуск тестового скрипта).
- Обновления приходят через выбранный механизм (snap/apt).
Глоссарий (1 строка)
- pwsh: исполняемый файл PowerShell Core для Linux и macOS.
- cmdlet: встроенная команда PowerShell, которая возвращает объекты.
Резюме
- PowerShell доступен на Ubuntu 20.04 двумя основными способами: snap и репозиторий Microsoft.
- Snap быстрый в установке и изолированный; apt-инсталляция удобна для централизованного управления пакетами.
- После установки проверьте
pwsh,Get-Hostи базовые команды. Решайте проблемы через логи и проверки служб.
Если нужны примеры сценариев, шаблоны модулей или помощь с переносом существующих bash-скриптов в PowerShell — напишите, какие задачи вы хотите автоматизировать.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента