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

如何获取Azure AD中成员及其Active Assignment角色列表,并验证角色授予方式及集成至脚本

查询Azure AD角色的授予方式(直接/组授予)并集成到脚本

没问题!要搞清楚Azure AD里那些带「Active Assignment」的角色是直接授予用户还是通过组分配的,我们可以扩展你现有的PowerShell脚本,通过检查角色成员的类型来实现。下面我给你调整后的脚本,还有详细的说明:

修改后的完整脚本

Connect-AzureAD
$roles = Get-AzureADDirectoryRole | Select-Object ObjectId, DisplayName

# 用来存储所有角色分配结果的数组
$roleAssignmentDetails = @()

ForEach($role in $roles){
    # 获取当前角色的所有成员
    $roleMembers = Get-AzureADDirectoryRoleMember -ObjectId $role.ObjectId
    
    ForEach($member in $roleMembers){
        # 判断分配类型:用户就是直接授予,组就是通过组授予
        $assignmentType = switch($member.ObjectType){
            "User" { "Direct Assignment" }
            "Group" { "Group Assignment" }
            default { "Unknown Type" }
        }

        # 组装成结构化的结果对象
        $assignmentRecord = [PSCustomObject]@{
            "Azure Role Name" = $role.DisplayName
            "Member Display Name" = $member.DisplayName
            "Member Object ID" = $member.ObjectId
            "Member Type" = $member.ObjectType
            "Assignment Method" = $assignmentType
        }

        $roleAssignmentDetails += $assignmentRecord
    }
}

# 输出格式化结果,也可以导出到CSV方便分析
$roleAssignmentDetails | Format-Table -AutoSize
# 取消注释下面一行可以导出到本地CSV文件
# $roleAssignmentDetails | Export-Csv -Path "AzureAD_Role_Assignments.csv" -NoTypeInformation

关键逻辑说明

  • 区分分配方式:通过检查成员的ObjectType属性,如果是User就是直接把角色分配给了用户;如果是Group,说明这个角色是先分配给组,再通过组间接授予组内用户的。
  • 结构化结果:用PSCustomObject把所有相关信息打包,方便后续查看、筛选或者导出到文件。
  • 扩展性:如果你需要进一步查询组里的具体用户,还可以在Group分支里加入Get-AzureADGroupMember命令来获取组内成员列表。

集成到你的现有脚本

你可以把上面的核心逻辑(也就是判断ObjectType和组装结果的部分)替换掉你原来脚本里的select语句。比如原来的:

Get-AzureADDirectoryRoleMember -ObjectId $role.ObjectId | select @{n="Azure role";e={$role.DisplayName}}, displayname

改成我们上面的循环处理逻辑,就能直接把分配方式的信息加进去。

注意事项

  • 确保你有Azure AD管理员权限(比如全局管理员、角色管理员),否则可能无法读取完整的角色分配信息。
  • 如果你正在迁移到Microsoft Graph PowerShell模块(微软推荐的新模块),也可以用类似逻辑:用Get-MgDirectoryRoleMember获取成员,然后同样通过ObjectType判断分配方式。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 01:27:48