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

执行Get-AzRoleAssignment命令返回DisplayName为空的问题求助

排查Az角色分配中DisplayName和SignInName为空的问题

核心矛盾点分析

从返回结果能看到两个关键异常:

  1. 你指定查询的是存储账户层级Scope,但返回结果的Scope却是管理组层级(/providers/Microsoft.Management/managementGroups/dcdd235cac24cd5c)
  2. DisplayName和SignInName字段完全为空

具体排查步骤

1. 确认角色分配的主体类型

空名称字段通常是因为角色分配的主体不是普通用户/服务主体,常见情况包括:

  • 托管标识(系统分配或用户分配)
  • Azure AD组
  • Azure内部使用的系统隐藏主体
  • 内置角色的特殊分配

执行以下命令获取主体的类型和ID:

Get-AzRoleAssignment -Scope "/providers/Microsoft.Management/managementGroups/dcdd235cac24cd5c" -RoleAssignmentName "fd" | Select-Object ObjectId, ObjectType

2. 修正查询Scope的匹配问题

指定的存储账户Scope和返回的管理组Scope不匹配,原因可能是:

  • 存储账户继承了管理组层级的角色分配,而你查询时未添加-IncludeInherited参数,导致返回了继承的分配项
  • 输入的存储账户Scope存在拼写错误,或该存储账户不在指定的订阅/资源组内

重新执行带继承参数的精准查询:

Get-AzRoleAssignment -Scope "/subscriptions/abc/resourceGroups/test/providers/Microsoft.Storage/storageAccounts/adls2sxcuzeow" -IncludeInherited

3. 查询主体的详细信息

根据步骤1得到的ObjectId和ObjectType,针对性查询主体详情:

  • 若为用户:
Get-AzADUser -ObjectId "<ObjectId>"
  • 若为服务主体/托管标识:
Get-AzADServicePrincipal -ObjectId "<ObjectId>"
  • 若为Azure AD组:
Get-AzADGroup -ObjectId "<ObjectId>"

4. 检查Azure AD读取权限

如果以上命令无法返回主体信息,大概率是你的账号缺少Azure AD的基础读取权限(如Directory Readers角色),需联系Azure AD管理员分配对应权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 15:09:53