如何查找指定用户拥有所有权的全部Azure AAD组?
查询指定用户拥有所有权的全量组方案
你找不到对应筛选选项的两个核心原因:
- 权限不足:普通租户成员默认仅能查看自身有权限访问的组对象,筛选面板会自动隐藏你无权限使用的筛选项;至少需要目录读取者、组读取者及以上角色权限,才能看到全量组筛选条件。
- 筛选项认知偏差:官方文档提到的
User type筛选是用于过滤组内成员的用户类型(区分内部成员/外部访客),并非筛选所有者的条件,属于找错了对应筛选项。
以下是不需要逐个点开组核查所有者的可落地方法:
方法1:管理中心可视化查询(权限满足时最高效)
- 进入Entra ID管理中心的「所有组」页面
- 点击列表顶部的
添加筛选器按钮,在弹出的可选筛选项中勾选所有者,确认后筛选栏会新增所有者筛选框 - 在筛选框中输入目标用户的显示名称、UPN或邮箱,选中对应账号后确认,页面加载出的所有结果就是该用户拥有所有权的全部组,覆盖安全组、Microsoft 365组、邮件启用的安全组、通讯组所有类型。
方法2:Graph PowerShell批量查询(无UI筛选权限时可用)
只要你拥有基础的目录读取权限,就可以通过命令直接拉取全量结果,无需逐个核查组信息:
- 安装所需的Graph模块,以管理员身份打开PowerShell执行:
Install-Module Microsoft.Graph.Groups, Microsoft.Graph.Users
- 连接租户并执行查询,将命令中的
目标用户UPN替换为待查询用户的登录邮箱/用户主体名即可:
Connect-MgGraph -Scopes "Group.Read.All", "User.Read.All" $targetUserId = (Get-MgUser -UserId "目标用户UPN").Id Get-MgGroup -Filter "owners/`$id eq '$targetUserId'" -All | Select-Object DisplayName, Id, GroupTypes, Mail
执行完成后返回的列表就是该用户作为所有者的所有组,可直接导出为CSV留存。
方法3:Exchange Online环境专属查询
如果需要查询的是邮件类组,可以直接连接Exchange Online PowerShell查询:
Connect-ExchangeOnline $targetUserMail = "目标用户邮箱地址" Get-Recipient -RecipientTypeDetails GroupMailbox, MailUniversalSecurityGroup, MailUniversalDistributionGroup -ResultSize Unlimited | Where-Object { (Get-UnifiedGroupLinks -Identity $_.Identity -LinkType Owners -ErrorAction SilentlyContinue).PrimarySmtpAddress -contains $targetUserMail }
注意:如果你持有的是普通成员权限,以上方法仅能返回你有权限查看所有者信息的组,开启了所有者/成员隐藏的私有组不会出现在结果中,属于Entra ID默认的权限控制逻辑,不属于操作故障。
内容的提问来源于stack exchange,提问作者Glasnhost
相关产品推荐
相关产品推荐

