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

如何将Get-AzADAppPermission返回的权限GUID转换为英文名称?

将Azure AD应用权限GUID转换为英文名称的方法

要把Get-AzADAppPermission返回的权限GUID转换成对应的英文名称,核心是通过查询权限所属API的服务主体,将GUID与服务主体中定义的权限元数据进行匹配,以下是具体操作步骤:

1. 明确权限所属的API

多数场景下这类权限属于Microsoft Graph,其固定服务主体AppId为00000003-0000-0000-c000-000000000000。如果是Exchange Online等其他API,需先找到对应API的服务主体AppId。

2. 用PowerShell脚本自动匹配权限名称

将你的应用注册ObjectId替换到指定位置,执行以下脚本即可直接输出权限GUID对应的英文名称及详细信息:

# 替换为你的应用注册ObjectId
$targetAppObjectId = "cbXXXX80-c841-XXXX-XXXX-0eXXXXXXX6d6"

# 获取目标应用的权限列表
$appPerms = Get-AzADAppPermission -ObjectId $targetAppObjectId

# 获取Microsoft Graph服务主体(若为其他API,替换此处的AppId)
$apiSp = Get-AzADServicePrincipal -Filter "AppId eq '00000003-0000-0000-c000-000000000000'"

# 匹配GUID与权限名称
$result = foreach ($perm in $appPerms) {
    # 优先匹配委派权限(OAuth2Permissions),再匹配应用权限(AppRoles)
    $matchedPerm = $apiSp.OAuth2Permissions | Where-Object Id -eq $perm.PermissionId
    if (-not $matchedPerm) {
        $matchedPerm = $apiSp.AppRoles | Where-Object Id -eq $perm.PermissionId
    }
    [PSCustomObject]@{
        权限GUID       = $perm.PermissionId
        权限英文名称    = $matchedPerm.Value
        权限显示名称    = $matchedPerm.DisplayName
        权限描述        = $matchedPerm.Description
        权限类型        = if ($perm.PermissionType -eq "Application") { "应用权限" } else { "委派权限" }
    }
}

# 输出匹配结果
$result

3. 适配其他API的情况

如果权限不属于Microsoft Graph,先执行Get-AzADServicePrincipal列出所有服务主体,找到目标API的AppId,替换脚本中Get-AzADServicePrincipal命令的AppId值即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 22:17:15