如何解决Get-AzureADMSConditionalAccessPolicy无法列出全部Azure AD条件访问策略?
解决Get-AzureADMSConditionalAccessPolicy无法返回全部策略的问题
以下是几个实用的排查和解决方向:
处理分页限制
Azure AD模块的Get-AzureADMSConditionalAccessPolicy默认分页返回结果,单次调用最多返回100条策略。若你的策略数量超过100,需循环获取所有分页数据:$allPolicies = @() $skip = 0 $top = 100 do { $currentPage = Get-AzureADMSConditionalAccessPolicy -Top $top -Skip $skip $allPolicies += $currentPage $skip += $top } while ($currentPage.Count -eq $top) # 导出到CSV $allPolicies | Export-Csv -Path ".\ConditionalAccessPolicies.csv" -NoTypeInformation -Encoding UTF8验证账号权限
确保执行命令的账号拥有足够权限:- 至少需要Conditional Access Administrator、Security Administrator或Global Administrator角色
- 若使用自定义角色,需包含
Policy.Read.All和Policy.Read.ConditionalAccess权限
更新模块或切换到Microsoft Graph
AzureAD模块已进入弃用阶段,建议迁移到更稳定的Microsoft Graph PowerShell模块:- 安装并连接Graph模块:
Install-Module -Name Microsoft.Graph.Identity.SignIns -Force Connect-MgGraph -Scopes "Policy.Read.All" - 获取所有策略并导出CSV:
$allMgPolicies = Get-MgIdentityConditionalAccessPolicy -All $true $allMgPolicies | Export-Csv -Path ".\MgConditionalAccessPolicies.csv" -NoTypeInformation -Encoding UTF8
注:
-All $true参数会自动处理分页,无需手动循环。- 安装并连接Graph模块:
内容的提问来源于stack exchange,提问作者kingliiis
相关产品推荐
相关产品推荐

