PowerShell での Azure の操作は頻度の少ない私ですが、Power Shell を使って Azure のなんらかの操作をしたいときに、最初に行うサインインやサブスクリプションの確認・変更をブログで都度書くと長くなるなーと思ったのでここで改めて書いてきます♪
- 予備知識: レガシーな AzureRM PowerShell と新しい Az PowerShell モジュール
- Az PowerShell module のインストール
- Azure にサインイン(接続)する
- 現在サインインしてるテナント (サブスクリプション) を確認
- テナント (サブスクリプション) を切り替える
- 参考
予備知識: レガシーな AzureRM PowerShell と新しい Az PowerShell モジュール
PowerShell で Azure を操作する際、現時点では AzureRM PowerShell と Az PowerShell があります。
AzureRM PowerShell は Get-AzureRmContext
みたい "AzureRm" ってのがつくコマンド(全部のコマンド見たわけではないので雑なイメージですがw)。まだ数年使えますが2024年2月29日で廃止になるロードマップが出ています。
そして Az PowerShell モジュールを使う流れになっているようですね。既に AzureRM PowerShell の全機能が利用できるようになっています。Az PowerShell の特徴としては Connect-AzAccount
ってコマンドのように "Az" が含まれていることです(全部のコマンド見たわけではないし未来はわからんのでざっくりな例ですがw)。
つまりは、
PowerShell で Azure を操作する際ドキュメントとかググってて "AzureRm" ってついたコマンドを見かけたら「これ古い方やん」と察して Az PowerShell で同じことできるコマンドを探す
ってことですね。
ということで、ここでは Az PowerShell を使ったサインインや、テナント(サブスクリプション)の切り替え方法をメモしていきます。
Az PowerShell module のインストール
インストール方法は、公式ドキュメントで3種類紹介されています。PowerShell のバージョンの依存についても書かれているので、初めて使う方はさらっと読んだ方がよいでしょう。
私自身は(個人的に一番楽と感じてる) PowerShellGet でさくっとインストールしたと思いますが、忘れましたw。
Azure にサインイン(接続)する
サインインするコマンドはこれです。これ実行してそんなコマンドないって感じのエラーが出たら、前述のインストール忘れです。
Connect-AzAccount
実行するとデバイスコードフローでのログインが求められます。どの URL にいって指定のコードを打てとメッセージが表示されるので、ブラウザを起動してその通り進めます。
場合によってはコードが出ずにすっと認証されることもありますが、そのときは迷う要素がないので触れずにいきますかね
指定の URL をデバイスコードの入力が求められ、それから Azure にログインします。
サインインを進めてこの画面に来たら、PowerShell に戻りましょう。
PowerShell の画面に戻ると、どのアカウントでどのテナント (サブスクリプション) にサインインしたか表示されます。
現在サインインしてるテナント (サブスクリプション) を確認
前述のようにサインインすると現在のテナント (サブスクリプション) がわかりますが、色々操作してるとたまに確認したくなることがあります。その時はこのコマンドです。
Get-AzContext
テナント (サブスクリプション) を切り替える
「テナント (サブスクリプション)」 と毎回書いてますが、ググるときにどちらでもヒットしてくれたらなと思って書いてるだけです
今接続している テナント (サブスクリプション) を切り替えたいことも多々あります。
テナント (サブスクリプション) の一覧を確認
テナント (サブスクリプション) を切り替えるためには、その ID または Name が必要です。それを確認するには、Azure ポータルをみて確認するか、もしくは以下のコマンドで確認するのが良いでしょう。
※ コマンドを実行するにはもちろんサインインしている必要があります。
Get-AzSubscription
こんな感じで結果が表示されます。
パラメーターを指定した実行など詳しいことは、以下のドキュメントで確認できます。
サブスクリプションを切り替える
前述の Get-AzSubscription
で一覧を表示していればそこで表示された Id をセットして以下のコマンドを実行すれば、切り替えることができます。
Set-AzContext -Subscription "ここに subscription の id をセット"
ドキュメントはここです。