AzurePowerShell では1つのサブスクリプションが選択された状態での操作しか対応していません。
なので複数のサブスクリプションを利用している場合には、ログイン後にデフォルトで選択されるサブスクリプションがリソースを作成したいサブスクリプションなのかを気にする必要があります。
今回は、AzurePowerShell でサブスクリプションの変更コマンドを実際に試してみました。
サブスクリプションの変更方法
以下のコマンドで変更可能です。
IDを指定する方法とサブスクリプション名を指定する方法の2つがあります。
#サブスクリプションIDを指定
Set-AzContext -Subscription <サブスクリプションID>
#サブスクリプション名を指定
Set-AzContext -Subscription <サブスクリプション名>
・記載例
#サブスクリプションIDを指定
Set-AzContext -Subscription "12345678-1234-1234-1234-123456789012"
#サブスクリプション名を指定
Set-AzContext -Subscription "TestSub02"
実際に変更してみます。
・現状のサブスクリプションを確認する(Get-AzContext)
・サブスクリプションを変更する(Set-AzContext)
サブスクリプション名やIDの取得方法は下部のサブスクリプション情報の確認方法を参照ください。
実行後に変更されたサブスクリプションの情報が表示されます。
・変更されたかを確認する(Get-AzContext)
上記でも表示されていますが改めて別のコマンドで確認します。
これでサブスクリプションの変更は完了です。
サブスクリプション情報の確認方法
以下のコマンドで複数のサブスクリプションの情報を取得することができます。
Get-AzSubscription
出力としては以下のような形になります。
PS C:\> Get-AzSubscription
Name Id TenantId State
---- -- -------- -----
TestSub02 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx xxxxxxxx-xxxx-xxxx-zzzz-xxxxxxxxxxxx Enabled
TestSub01 yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy xxxxxxxx-xxxx-xxxx-zzzz-xxxxxxxxxxxx Enabled
PS C:\>
同じようなコマンドとして [Get-AzContext] もありますが、これは現状選択されているサブスクリプションの情報を表示するコマンドになります。
なので、変更したいサブスクリプションの情報を確認するためには [Get-AzSubscription] を利用する必要があるので使い分けに少し注意が必要です。