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

请求提供查找应用权限及Azure应用Mail.*应用权限的PowerShell脚本

查找拥有Mail类应用权限的Azure应用脚本

问题解答

  1. 存在可查找Azure应用权限的脚本,以下直接提供符合需求的PowerShell实现。

PowerShell脚本实现

# 连接Azure AD模块(需提前安装AzureAD或AzureADPreview模块)
Connect-AzureAD

# 获取所有Azure AD应用注册
$allApps = Get-AzureADApplication -All $true

# 筛选目标应用:拥有至少一个Application类型的Mail.*权限,排除仅拥有委托类型Mail.*权限的应用
$targetApps = $allApps | Where-Object {
    # 提取应用的所有权限项
    $allPermissions = $_.RequiredResourceAccess | ForEach-Object { $_.ResourceAccess }
    # 筛选出Microsoft Graph下的Mail相关权限(资源ID固定为00000003-0000-0000-c000-000000000000)
    $mailRelatedPerms = $allPermissions | Where-Object {
        $_.Id -match "00000003-0000-0000-c000-000000000000" -and $_.Type -in ("Application", "Scope")
    }
    if ($mailRelatedPerms) {
        # 检查是否存在应用级权限(Application类型)
        $hasAppLevelMailPerm = $mailRelatedPerms | Where-Object { $_.Type -eq "Application" }
        # 仅保留有应用级权限、且不是只有委托权限的应用
        return $hasAppLevelMailPerm -and (-not (-not $hasAppLevelMailPerm))
    }
    return $false
}

# 格式化输出结果
$targetApps | ForEach-Object {
    $appName = $_.DisplayName
    $appId = $_.AppId
    # 提取该应用的应用级Mail权限详情
    $appMailPerms = $_.RequiredResourceAccess | ForEach-Object {
        $_.ResourceAccess | Where-Object { $_.Type -eq "Application" -and $_.Id -match "00000003-0000-0000-c000-000000000000" }
    }
    # 权限ID与可读名称映射(可按需补充更多)
    $permNameMap = @{
        "df021288-bdef-4463-88db-98f22de89214" = "Mail.Read"
        "37f7f235-527c-4136-accd-4a02d197296e" = "Mail.ReadWrite"
        "dc890d15-9560-4a4c-9b7f-a736ec74ec40" = "Mail.Send"
    }
    $readablePerms = $appMailPerms | ForEach-Object { $permNameMap[$_.Id] ?? $_.Id }
    Write-Host "应用名称: $appName"
    Write-Host "应用ID: $appId"
    Write-Host "拥有的Mail类应用权限: $($readablePerms -join ', ')"
    Write-Host "-------------------------"
}

脚本说明

  • 需提前安装Azure AD模块:执行Install-Module -Name AzureAD(需管理员权限)。
  • 通过Microsoft Graph的固定资源ID筛选Mail类权限,确保范围准确。
  • 严格区分应用权限(Application类型)和委托权限(Scope类型),精准排除仅拥有委托权限的应用。
  • 权限名称映射部分可根据需要补充更多Mail类应用权限,让输出更直观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 05:27:18