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

解决Microsoft Graph PowerShell查询Entra ID服务主体OAuth2权限授予返回null问题

解决服务主体OAuth2权限授予查询返回$null的问题

问题原因

Get-MgServicePrincipal默认请求的属性集合不包含oauth2PermissionGrants关联数据,所以直接获取的对象里该字段自然是$null。

解决方案

方法1:查询时直接展开关联权限

在获取服务主体的同时,通过-ExpandProperty参数加载关联的OAuth2权限授予数据:

$servicePrincipal = Get-MgServicePrincipal -ServicePrincipalId c3c1919a-eb0e-4664-96c7-3a4112345678 -ExpandProperty "oauth2PermissionGrants"
# 查看具体权限授予信息
$servicePrincipal.Oauth2PermissionGrants

方法2:单独查询目标服务主体的权限授予

如果只需要权限授予数据,也可以直接调用Get-MgOauth2PermissionGrant并通过clientId筛选目标服务主体:

$oauthGrants = Get-MgOauth2PermissionGrant -Filter "clientId eq 'c3c1919a-eb0e-4664-96c7-3a4112345678'"
$oauthGrants

关键注意点

  • 执行命令前必须通过Connect-MgGraph完成身份验证,且登录账号需要拥有Directory.Read.All或更高权限(比如Directory.ReadWrite.All)
  • 如果返回结果仍然为空,说明该服务主体确实没有被授予任何OAuth2委托权限,可以在Azure门户的应用注册中确认权限配置情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 09:12:16