PowerShell сегодня является открытой кроссплатформенной оболочкой и языком сценариев, который можно установить и использовать как в Windows, так и в Linux, MacOS и других платформах. В этой статье мы рассмотрим, как установить PowerShell в популярных дистрибутивах Linux (CentOS, RHEL, Debian, Kali, Mint, Ubuntu). Статья скорее всего будет полезна Windows администраторам, знакомым с PowerShell, перенести свой опыт в Linux.
На данный момент пакет PowerShell отсутствует почти во всех стандартных репозиториях Linux. Поэтому для установки PowerShell на Linux сначала нужно скачать пакет репозитория Microsoft, импортировать ключи и использовать стандартный менеджер пакетов вашего Linux дистрибутива для установки PowerShell.
Также напомним, что на Linux можно установить только PowerShell Core (основан на .NET Сore). В Linux нельзя штатно установить классический Windows PowerShell 5.1 ( отличия между PowerShell Core и Windows PowerShell ). На момент написания статьи максимальная доступная версия PowerShell Core 7.2 LTS.
Перед установкой PowerShell в Ubuntu и Linux Mint нужно обновить список пакетов:
sudo apt-get update -y
Скачайте GPG ключи репозитория Microsoft:
wget -q https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
Установите GPG ключи Microsoft:
sudo dpkg -i packages-microsoft-prod.deb
Обновите список пакетов, добавив пакеты из packages.microsoft.com:
sudo apt-get update
Установите PowerShell:
sudo apt-get install powershell -y
Пакет powershell будет автоматически обновляться менеджером пакетов apt:
sudo apt update
Также вы можете скачать и установить DEB пакет powershell вручную:
wget -q https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts_7.2.0-1.deb_amd64.deb
sudo dpkg -i powershell_7.2.0-1.deb_amd64.deb
Разрешить зависимости и закончить установку:
sudo apt-get install -f
Для установки PowerShell Core версии 7.0+ в Debian 11 bullseye, сначала нужно загрузить GPG ключи репозитория Microsoft:
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb
Теперь нужно зарегистрировать скачанный GPG ключ:
sudo dpkg -i packages-microsoft-prod.deb
Обновите список программ в менеджере пакетов:
sudo apt update
Установите PowerShell:
sudo apt install -y powershell
Обновление PowerShell будет происходить автоматически, когда вы запускаете обновление всех пакетов командой:
sudo apt update
Если нужно обновить только пакет PowerShell:
sudo apt install powershell
Установка PowerShell в Linux CentOS и Red Hat Enterprise Linux (RHEL), Oracle Linux выполняется одинаково:
Зарегистрируйте в yum новый репозиторий Microsoft RedHat:
curl https://packages.microsoft.com/config/rhel/8/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo
Установите последнюю доступную версию PowerShell Core с помощью менеджера пакета yum (dnf) :
sudo yum install -y powershell
Обновляется пакет стандартно через yum:
sudo yum update powershell
Также можно установить PowerShell из RPM файла:
sudo yum install https://github.com/PowerShell/PowerShell/releases/download/v7.2.0/powershell-lts-7.2.0-1.rh.x86_64.rpm
Чтобы установить PowerShell в Kali, достаточно выполнить команду:
apt update && apt -y install powershell
Вы можете использовать snap для установки PowerShell в различных дистрибутивах Linux. Так же этот метод установки можно рекомендовать для дистрибутивов Linux для которых нет официальной поддержки posh.
Команда установки PowerShell через snap:
sudo snap install powershell --classic
Обновление PowerShell через snap выполняется автоматически, но вы можете обновить его вручную:
sudo snap refresh powershell
Рассмотрим команды удаления PowerShell в различных дистрибутивах Linux:
sudo apt remove powershell
sudo apt remove powershell
sudo apt -y remove powershell
sudo yum remove powershell
sudo snap remove powershell
Чтобы запустить командную оболочку PowerShell в Linux, выполните команду:
pwsh
Проверить какая версию PowerShell установлена на данном хосте Ubuntu можно командой:
$PSVersionTable
В нашем примере установлен PowerShell Core 7.2.0:
PSVersion 7.2.0_x000D_PSEdition Core_x000D_OS Linux 5.4.0-81-generic #91-Ubuntu SMP Thu Jul 15 19:09:17 UTC 2021_x000D_Platform Unix
time pwsh -Command Get-History
time bash -c history
По умолчанию в Linux доступен небольшой список встроенных модулей:
Get-Module –ListAvailable
Можно установить другие модули, в том числе VMWare PowerCLI .
Получить текущую дату:
Get-date
Узнать аптайм хоста:
get-Uptime
Вывести содержимое текущшего каталога:
Dir
Или
Get-ChildItem
Вывести историю выполненных команд PowerShell :
History
Получить справку по команде:
Get-help Get-History
Для запуска скрипта PowerShell из bash:
pwsh /home/sysops/CheckDrive.ps1
Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…
В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…
Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…
Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…
Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…
В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…