如何以编程方式获取Azure订阅的所有成员

时间:2016-02-23 19:23:59

标签: powershell azure azure-active-directory azure-powershell

我正在尝试获取Azure订阅的所有成员(共同管理员)及其电子邮件ID。我是此订阅的全局管理员,因此访问不是问题。我正在寻找任何PowerShell cmdlet或任何可以提供此信息的API。

我试图运行以下内容,但它只向我提供了我的信息,但没有其他帐户也是我订阅的共同管理员。

  

Get-AzureSubscription -Id" 22222aaa-2a22-2a22-a2aa-2a0525c574c3" |选择对象帐户

任何指针或参考都会非常有用。

2 个答案:

答案 0 :(得分:1)

在来自@BenV的相关指针后,实际答案非常简单。

使用您感兴趣的订阅作为当前订阅,您可以使用

Get-AzureRmRoleAssignment -IncludeClassicAdministrators

这会给你一个这样的清单 -

RoleAssignmentId   : 
Scope              : /subscriptions/{subscriptionid}
DisplayName        : {emailaddress}
SignInName         : {emailaddress}
RoleDefinitionName : ServiceAdministrator;AccountAdministrator
RoleDefinitionId   : 
ObjectId           : 00000000-0000-0000-0000-000000000000
ObjectType         : User
RoleAssignmentId   : 
Scope              : /subscriptions/{subscriptionid}
DisplayName        : {emailaddress}
SignInName         : {emailaddress}
RoleDefinitionName : CoAdministrator
RoleDefinitionId   : 
ObjectId           : 00000000-0000-0000-0000-000000000000
ObjectType         : User

这应该是您正在寻找的

答案 1 :(得分:0)

我在msdn论坛上收到了答案。我需要使用Azure AD PowerShell模块,然后使用一个Azure AD用户进行连接。 Microsoft帐户用户将无法正常工作。用于获取用户的确切cmdlet是“Get-MsolUser”。

请参阅:https://social.msdn.microsoft.com/Forums/azure/en-US/29dfb413-e15e-4078-a292-394902667ed2/programmatically-fetching-all-members-of-an-azure-subscription?forum=WindowsAzureAD&prof=required