首页 > 解决方案 > PowerShell:如何在 Azure 中选择多个 Active Directory 之一

问题描述

我有同一个租户的多个 Azure 订阅,每个订阅都有自己的 Active Directory。切换订阅时,我仍然读取/写入默认订阅的 AD。如何使用 PowerShell cmdlet 访问其他目录?

Get-AzSubscription 给了我这个:

Name             Id                                   TenantId                             State
----             --                                   --------                             -----
Subscription 01  10000000-0000-0000-0000-000000000001 abc00000-0000-0000-0000-000000000abc Enabled
Subscription 02  20000000-0000-0000-0000-000000000002 abc00000-0000-0000-0000-000000000abc Enabled
Subscription 03  30000000-0000-0000-0000-000000000003 abc00000-0000-0000-0000-000000000abc Enabled

现在我可以像这样在这些之间切换

#> Set-AzContext -SubscriptionId "20000000-0000-0000-0000-000000000002"
#> Get-AzContext

Name             Account                 SubscriptionName  Environment  TenantId
----             -------                 ----------------  -----------  --------
Subscription 02  myaccount@mydomain.com  Subscription 02   AzureCloud   abc00000-0000-0000-0000-000000000abc 

#> Set-AzContext -SubscriptionId "30000000-0000-0000-0000-000000000003"
#> Get-AzContext

Name             Account                 SubscriptionName  Environment  TenantId
----             -------                 ----------------  -----------  --------
Subscription 03  myaccount@mydomain.com  Subscription 03   AzureCloud   abc00000-0000-0000-0000-000000000abc 

使用 Get-AzADUser 在这些订阅的 Active Directory 中检索有关用户的信息时,它不起作用 - 它始终与订阅 01 的 AD 通信。我还尝试运行 Select-AzContext 而不是 Set-AzContext,结果相同.

在 Azure 门户中查找时,AD 具有完全不同的 ID,例如 0847BCD0-0000-0000-0000-00000039C76F。但无法弄清楚在哪里使用它们。

谁能解释我做错了什么?

编辑:为了进一步说明这一点,在执行 Get-AzADUser 时,无论我使用 Set-AzContext 选择了什么订阅,我都会得到相同的结果集。没有任何错误消息,但我希望从我选择的订阅的 AD 中获取用户。

标签: azurepowershellazure-active-directory

解决方案


在您的 Azure 租户中,您有多个 AAD 租户。您列出的 TenantId 属性是您的 Azure 租户的 ID。您可以在门户中看到的 AAD 租户 ID 也可以使用 PowerShell 通过运行来检索Get-AzTenant。要连接到这些 AAD 租户之一,以便您可以运行命令,例如Get-AzADUser在使用时添加 -Tenant 参数Login-AzAccount,例如:

Login-AzAccount -Tenant 0847BCD0-0000-0000-0000-00000039C76F

运行时,Get-AzADUser您现在应该获取该 AAD 租户的用户,而不是您的默认 AAD 租户。


推荐阅读