Azure PowerShell を使用して Azure サブスクリプションを管理する
ほとんどの Azure ユーザーは、サブスクリプションを 1 つしか持っていません。 ただし、複数の組織に属している場合や、組織がグループ間で特定のリソースへのアクセスを分けている場合は、Azure に複数のサブスクリプションがある場合があります。
Azure PowerShell でサブスクリプションのリソースにアクセスするには、現在の Azure セッションに関連付けられているサブスクリプションを変更する必要があります。 これを行うには、どのテナント、サブスクリプション、およびユーザーに対してコマンドレットを実行するかについての情報である、アクティブなセッションのコンテキストを変更します。 サブスクリプションを変更するには、まず Get-AzSubscription を使って Azure PowerShell Context オブジェクトを取得してから、Set-AzContext を使って現在のコンテキストを変更する必要があります。
Get-AzSubscription コマンドレットを使用して、現在のアカウントでアクセスできるサブスクリプションのサブスクリプション ID、サブスクリプション名、およびホーム テナントを取得します。
すべてのテナントですべての Azure サブスクリプションをアクティブにするには、次のコマンドを実行します。
Get-AzSubscription
Name Id TenantId State
---- -- -------- -----
Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled
Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled
Subscription3 zzzz-zzzz-zzzz-zzzz bbbb-bbbb-bbbb-bbbb Enabled
特定のテナントに割り当てられたサブスクリプションに注目するには、次のコマンドを実行します。
Get-AzSubscription -TenantId "aaaa-aaaa-aaaa-aaaa"
Name Id TenantId State
---- -- -------- -----
Subscription1 yyyy-yyyy-yyyy-yyyy aaaa-aaaa-aaaa-aaaa Enabled
Subscription2 xxxx-xxxx-xxxx-xxxx aaaa-aaaa-aaaa-aaaa Enabled
Set-AzContext コマンドレットは、現在のセッションで実行するコマンドレットの認証情報を設定します。 コンテキストには、テナント、サブスクリプション、環境の情報が含まれます。
サブスクリプションのコンテキストを設定するには、次のコマンドを実行します。
Set-AzContext -Subscription "xxxx-xxxx-xxxx-xxxx"
Name Account SubscriptionName Environment TenantId
---- ------- ---------------- ----------- --------
Work test@outlook.com Subscription1 AzureCloud xxxxxxxx-x...
次の例は、現在アクティブなテナントでサブスクリプションを取得し、アクティブなセッションとして設定する方法を示しています。
$context = Get-AzSubscription -SubscriptionId ...
Set-AzContext $context