如何使用 Azure CLI/Powershell 获取 Azure Active Directory 用户详细信息

问题描述 投票:0回答:1

我有一个要求,我需要获取给定活动目录组的用户数、用户名。例如,如果 AAD 组 A 有 2 个成员 B 和 C,我需要获取这两个用户的详细信息。

就在几天前,我正在使用我的组织电子邮件 ID 登录 Azure,密码将是访问令牌,并且它可以正常工作:

az account get-access-token --resource "https://cognitiveservices.azure.com"

az login --username {user_name} --tenant {tenant_id} --password {access_token}

az ad group member list --group {AAD_group_name

由于访问令牌每 1 小时过期一次,我将以编程方式获取新令牌并获取 AAD 用户详细信息。

但是当我现在运行第二步时,出现错误: 运行时错误:WsTrust 服务器在 RSTR 中返回错误:{'reason':'ID3242:无法对安全令牌进行身份验证或授权。','code':'a:FailedAuthentication'}

还有其他替代方案可以让 AZ CLIPowershell 与 AAD 对话并获取详细信息吗? 因为我也尝试过 SPN,但它说:

权限不足,无法完成操作

我想使用 Azure CLI/Powershell 获取 AAD 组详细信息

python python-3.x powershell azure-active-directory azure-cli
1个回答
0
投票

根据您使用的 Azure CLI 版本,存在一个“功能差距”,即服务主体未列为组成员。作为解决方法,您可以使用 az rest 调用 beta API:https://docs.microsoft.com/en-us/graph/api/group-list-members?view=graph-rest-beta&tabs=http 查看相关问题:

问答

Github 在 Powershell 中,您可以使用 Get-AzureADGroupMember

列出所有群组成员:

Get-AzureADGroup -ObjectId df095002-f3ae-9077-6720-3a095edd8ff4 | Get-AzureADGroupMember -All $True

列出前 50 名成员:

Get-AzureADGroup -ObjectId df095002-f3ae-9077-6720-3a095edd8ff4 | Get-AzureADGroupMember -Top 50

© www.soinside.com 2019 - 2024. All rights reserved.