azure - 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 中获取用户。
解决方案
在您的 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 租户。
推荐阅读
- delphi - 如何在不重新实现方法的情况下从外部接口继承接口
- javascript - onAuthStateChanged 没有将我导航到主屏幕
- mysql - 在 mySQL 中打印/显示子查询计数
- javascript - 单元测试一个 Vue 组件
- r - 在 spatstat 中为 mppm 对象绘制包络
- c# - 无法加载 DLL 'SqlServerSpatial110.dll':找不到指定的模块
- ios - 编辑操作在 Core Data 中不起作用
- java - 为什么 Java 11 在 Android Studio 中会出现 TaskExecutionException?
- sql-server - 通过消除除 seacrhed 行之外的所有其他行,通过文本框在已填充的列表视图中搜索
- node.js - 在 Sails.js 中无法访问节点包