You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PowerShell查询Azure AD所有用户及其所属组列表

解决方案

该需求完全可通过PowerShell实现,你现有脚本的核心问题是组归属匹配逻辑错误,不需要提前拉取全量组列表做匹配,直接调用Azure AD提供的用户成员身份查询接口即可高效实现需求。

前置准备

操作前需先安装Azure AD PowerShell模块,并执行Connect-AzureAD登录你的Azure AD租户。

调整后的完整脚本

# 拉取全量AAD用户
$allUsers = Get-AzureADUser -All $true
# 初始化结果数组
$userGroupResult = @()

foreach ($user in $allUsers) {
    # 获取当前用户的所有所属组(过滤掉角色、应用等其他类型的成员身份)
    $userGroups = Get-AzureADUserMembership -ObjectId $user.ObjectId | Where-Object {$_.ObjectType -eq "Group"}
    
    # 逐组生成结果记录
    foreach ($group in $userGroups) {
        $resultItem = [PSCustomObject]@{
            DisplayName = $user.DisplayName
            UserPrincipalName = $user.UserPrincipalName
            GroupName = $group.DisplayName
        }
        $userGroupResult += $resultItem
    }
}

# 控制台输出结构化表格,符合你要求的格式
$userGroupResult | Format-Table -AutoSize

# 如需导出为CSV文件导入Hudu,可取消注释下行执行
# $userGroupResult | Export-Csv -Path "C:\AzureAD用户组归属表.csv" -NoTypeInformation -Encoding UTF8

输出示例

执行后控制台输出格式如下:

DisplayName     UserPrincipalName     GroupName
-----------     -----------------     -----------
Name Nameson     user@domain.com       技术部员工组
Name Nameson     user@domain.com       办公系统权限组
Name Nameson2     user2@domain.com       人事部员工组
Name Nameson2     user2@domain.com       招聘审批组

如果需要调整输出的列名,直接修改$resultItem里的键名即可。

内容的提问来源于stack exchange,提问作者Elly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:27:05