PowerShell、WindowsPowerShell、AzurePowerShellについて

お疲れ様です。
親友と昔のゲームを一気にクリアまで遊びました。オンラインがまだなかった時代、誰かの家にみんなで集まってやるゲームって今にはない楽しさがありましたよね。宮﨑です。

 
Azure CloudShellの記事で、2つのShellが使用できることがわかりました。実際に使用しながら覚えていこうとネットの動画や記事を調べていると、PowerShellにいくつか種類があることがわかりました。

 
今回はPowerShell、WindowsPowerShell、AzurePowerShellについて調べたことをまとめます。
 

PowerShellとWindowsPowerShell

簡単に言ってしまうとクロスプラットフォーム対応で、WindowsだけでなくLinuxやmacOSなどでも利用可能なのがPowerShellで、Windows環境でのみ利用可能なのがWindowsPowerShellです。

 
…これだと味気ないので使用方法も書きます。

 

PowerShellの使用方法

PowerShellはAzure CloudShellから使用可能です。ポータル画面からAzure CloudShellを選択することで、PowerShellまたはBashを即使用することができます。詳しくはこちらの記事で。また、Azure CloudShellから起動した場合は手動でのAzureアカウントへの接続は不要です。至れり尽くせりですね。

 
Azure CloudShellを使用せずインストールすることも可能です。最新版をインストールしてみます。
ここから最新のバージョン7.4.0(2024年1月現在)をインストールします。

 
file

 
私の使用しているPCがWindowsなので対応するものを選択します。赤枠で囲っているPowerShell-7.4.0-winから始まるものがWindowsOSに向けて作成されたものになります。後記のx64、x86についてはそれぞれ64bitOS、32bitOS用になります。使用しているPCのOSによって変わるので注意してください。

 
PowerShell-7.4.0-win-x64.msiをダウンロードし開きます。設定はそのままでインストールを行います。インストールが完了したらWindowsの検索窓でPowerShellと入力します。

 
file

 
無事にインストールが完了しました。

 
file

 
起動画面です。バージョン7.4.0の確認も出来ました。そういえばAzure Cloud Shellから起動したPowerShellのバージョンっていくつなんだろう?と疑問が湧いたのでついでに調べてみました。

 
PowerShellのバージョンを調べるコマンドを使います。

 

$PSVersionTable.PSVersion

 
file

 
こちらも最新のバージョン7.4.0でした。

 

WindowsPowerShellの使用方法

WindowsPowerShellにおいてはWindowsにあらかじめ搭載されています。先ほどと同じように検索画面にPowerShellと入力すると出てきます。

 
file

 
file

 
最新のPowerShellをインストールしてくださいとのことなのでバージョンを確認すると5.1.0でした。あらかじめ搭載されているWindowsPowerShellはバージョンが古く、バージョン5より以前のものはWindows環境でしか使用できないものになります。

 
ということはアップデートして最新のものにすれば、それは最新のPowerShellと一緒なのでPowerShell=WindowsPowerShellなのでは?と思い調べたのですが、WindowsPowerShellの最新バージョンはこの5.1.0でありアップデートは不可能のため、別物として考えたほうがいいみたいです。

 
細かな違いについては公式ドキュメントを参考にしてみてください。
Windows PowerShell 5.1 と PowerShell 7.x の相違点

 

PowerShellとWindowsPowerShell 使い分け

基本的には最新バージョンのPowerShellを使用したほうがいいですが、Windows環境でのレガシーシステムや特定のモジュールが依存する場合は、WindowsPowerShellを使用する。という考えになりました。今後は実際に使用してみて出来ること、出来ないことを調べていきます。

 

AzurePowerShell

Azure PowerShell は、PowerShell から Azure リソースを直接管理するためのコマンドレットのセットです。 Azure PowerShell は、簡単に学習して使い始めることができるように設計されていますが、自動化のための強力な機能が用意されています。 

Az PowerShell モジュールは .NET Standard に基づいており、Windows、Linux、macOS を含むすべてのプラットフォームで PowerShell 7.0.6 LTS および PowerShell 7.1.3 以降で動作します。 また Windows PowerShell 5.1 と互換性があります
Azure PowerShell とは

 
早速先ほどインストールした最新版のPowerShellにインストールしてみましょう。

 

AzurePowerShellの使用方法

file

 
PowerShellを今回は管理者として実行を選択し起動します。

 
AzurePowerShellをインストールする前に、試しにAzure仮想マシンの状態などの情報を取得できるコマンドを入れてみます。

 

Get-AzVM

 
file

 
モジュールがインストールされていないエラーが表示され取得することが出来ません。モジュールをインストールするコマンドを入れ質問にAで答えた後、再度先ほどのコマンドを試してみます。

 

install-Module -Name AZ

 
file

 
今度は、Azureのアカウントに接続されていないというエラーが表示されるので、下記のコマンドを使用します。

 

Connect-AzAccount -DeviceCode

 
file

 
赤枠で表示されたURLをコピーしてブラウザでログインします。

 
file

 
画面が表示されたら青枠で囲まれた部分をコピーして貼り付け、次へを選択します。

 
file

 
接続したいアカウントを選択します。

 
file

 
接続していいか問われるので。良ければ続行を選択します。

 
file

 
接続が完了しました。再度先ほどのコマンドを試してみます。

 
file

 
コマンドが通り、仮想マシンが表示されました。

 

AzurePowerShell まとめ

PowerShellかWindowsPowerShellにインストールして、CUI操作でAzureリソースを直接管理するためのモジュール(部品)がAzurePowerShellになります。単体で動くというよりはくっついて手伝ってくれる、と考えるのがいいです。

 

最後に

今回は各PowerShellについてでした。やはり実際に自分で触りながら覚えるのが1番なので、ぜひハンズオンで試してみてください。Azure CLIなんてものもあるみたいです。それはまた別の機会で…。最後まで読んでいただきありがとうございました。

Last modified: 2024-01-04

Author