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

How to programmatically fetch all members of an Azure Subscription

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

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

Get-AzureSubscription -Id "22222aaa-2a22-2a22-a2aa-2a0525c574c3" | Select-Object Accounts

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

在来自@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

这应该是您要查找的内容

我在 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