みち草

Azure中心にまとめる技術情報ブログ

CentOSにPowerShellをインストールする

はじめに

LinuxにPowerShellがインストールできるようになったことを最近知ったので試してみました。

ついでにAzure PowerShellをインストールしてみました。

さほど特殊なことはないのであっさりです。

目次

PowerShell入れてみた

環境

AzureでMarketPlaceからCentOS 7.7をデプロイして突っ込んでみました。
SELinuxとfirewalldを無効にしただけです。

コマンド

以下のMSドキュメントに記載があります。

Linux への PowerShell Core のインストール - PowerShell | Microsoft Docs

次の2つのコマンドを実行すればOKです。

# Register the Microsoft RedHat repository
sudo curl https://packages.microsoft.com/config/rhel/7/prod.repo | sudo tee /etc/yum.repos.d/microsoft.repo

# Install PowerShell
sudo yum install -y powershell

root権限でMicrosoftのレポジトリを登録してから、yumでインストールします。

インストール&起動

コマンド実行結果はこんな感じです。

レポジトリ登録は取り忘れたのでyumから。。。
前提パッケージは「libicu」だけのようです。

CentOS_PowerShell1

インストール後、pwshにて起動。
Get-Command試してみました。ちゃんと入ってます。

CentOS_PowerShell2

Azモジュールをインストールしてみました。

CentOS_PowerShell3

サブスクリプションへログインするときは、URLへデバイスコードを入力する方式です。

CentOS_PowerShell4

ログインしてGet-AzVMを試してみました。ばっちり取得できます。

CentOS_PowerShell5

CentOSに対して簡単にPowerShellをインストールし、使用することができました。

資格情報利用時の注意点

AzでサブスクリプションにログインするConnect-AzAccountですが、これを使用する際の注意点が1つ。

ログイン時の認証画面を出さないために、資格情報オブジェクトを作成してConnectコマンドを実行することができますが、PowerShell Coreではサポートされておらず、対話型(デバイスコード)ログインのみのようです。

CentOS_PowerShell6

スクリプト作成してログイン画面を出さずに実行、としたいときにどうするか考える必要がありますね。。。

おわりに

もっと前提パッケージがあるのかと思っていましたが、1つだけであっさりでした。

コマンドを実行してから反応が遅いなーってのが気になりました。
インストール開始までや、実行結果の出力が結構遅かったです。

そこと資格情報の部分が使用時のネックにならなければよいなぁと思います。