BEACHSIDE BLOG

Azure と GitHub と C# が好きなエンジニアの個人メモ ( ・ㅂ・)و ̑̑

PowerShell で Azure に サインイン / テナント ( サブスクリプション ) 切り替え

PowerShell での Azure の操作は頻度の少ない私ですが、Power Shell を使って Azure のなんらかの操作をしたいときに、最初に行うサインインやサブスクリプションの確認・変更をブログで都度書くと長くなるなーと思ったのでここで改めて書いてきます♪

予備知識: レガシーな AzureRM PowerShell と新しい Az PowerShell モジュール

PowerShell で Azure を操作する際、現時点では AzureRM PowerShellAz PowerShell があります。

AzureRM PowerShellGet-AzureRmContext みたい "AzureRm" ってのがつくコマンド(全部のコマンド見たわけではないので雑なイメージですがw)。まだ数年使えますが2024年2月29日で廃止になるロードマップが出ています。

そして Az PowerShell モジュールを使う流れになっているようですね。既に AzureRM PowerShell の全機能が利用できるようになっています。Az PowerShell の特徴としては Connect-AzAccount ってコマンドのように "Az" が含まれていることです(全部のコマンド見たわけではないし未来はわからんのでざっくりな例ですがw)。

docs.microsoft.com

つまりは、

PowerShell で Azure を操作する際ドキュメントとかググってて "AzureRm" ってついたコマンドを見かけたら「これ古い方やん」と察して Az PowerShell で同じことできるコマンドを探す

ってことですね。

ということで、ここでは Az PowerShell を使ったサインインや、テナント(サブスクリプション)の切り替え方法をメモしていきます。

Az PowerShell module のインストール

インストール方法は、公式ドキュメントで3種類紹介されています。PowerShell のバージョンの依存についても書かれているので、初めて使う方はさらっと読んだ方がよいでしょう。

私自身は(個人的に一番楽と感じてる) PowerShellGet でさくっとインストールしたと思いますが、忘れましたw。

Azure にサインイン(接続)する

サインインするコマンドはこれです。これ実行してそんなコマンドないって感じのエラーが出たら、前述のインストール忘れです。

Connect-AzAccount

実行するとデバイスコードフローでのログインが求められます。どの URL にいって指定のコードを打てとメッセージが表示されるので、ブラウザを起動してその通り進めます。

場合によってはコードが出ずにすっと認証されることもありますが、そのときは迷う要素がないので触れずにいきますかね

f:id:beachside:20210517120339p:plain

指定の URL をデバイスコードの入力が求められ、それから Azure にログインします。

f:id:beachside:20210517120534p:plain

サインインを進めてこの画面に来たら、PowerShell に戻りましょう。

f:id:beachside:20210517120601p:plain

PowerShell の画面に戻ると、どのアカウントでどのテナント (サブスクリプション) にサインインしたか表示されます。

f:id:beachside:20210517144021p:plain

現在サインインしてるテナント (サブスクリプション) を確認

前述のようにサインインすると現在のテナント (サブスクリプション) がわかりますが、色々操作してるとたまに確認したくなることがあります。その時はこのコマンドです。

Get-AzContext

f:id:beachside:20210517141309p:plain

テナント (サブスクリプション) を切り替える

テナント (サブスクリプション)」 と毎回書いてますが、ググるときにどちらでもヒットしてくれたらなと思って書いてるだけです

今接続している テナント (サブスクリプション) を切り替えたいことも多々あります。

テナント (サブスクリプション) の一覧を確認

テナント (サブスクリプション) を切り替えるためには、その ID または Name が必要です。それを確認するには、Azure ポータルをみて確認するか、もしくは以下のコマンドで確認するのが良いでしょう。

※ コマンドを実行するにはもちろんサインインしている必要があります。

Get-AzSubscription

こんな感じで結果が表示されます。

f:id:beachside:20210517134909p:plain

パラメーターを指定した実行など詳しいことは、以下のドキュメントで確認できます。

docs.microsoft.com

サブスクリプションを切り替える

前述の Get-AzSubscription で一覧を表示していればそこで表示された Id をセットして以下のコマンドを実行すれば、切り替えることができます。

Set-AzContext -Subscription "ここに subscription の id をセット"

f:id:beachside:20210517135351p:plain

ドキュメントはここです。

docs.microsoft.com

参考

docs.microsoft.com