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

Azure Policy合规统计与门户数值匹配问题求助(PowerShell)

解决Azure Policy不合规资源数量与门户匹配问题

核心问题原因

  1. Get-AzPolicyState默认返回所有历史评估记录,导致同一资源-策略组合出现重复条目
  2. 未对齐门户的筛选逻辑:门户会自动排除豁免资源,且仅统计最新评估状态的不合规项

修正后的PowerShell脚本

步骤1:获取去重后的最新不合规状态记录

# 按需替换Scope为订阅ID/管理组ID,默认是当前订阅
$targetScope = "/subscriptions/你的订阅ID"

# 获取非合规、未豁免的最新策略状态,按资源+策略去重
$cleanPolicyStates = Get-AzPolicyState -Scope $targetScope `
    -Filter "ComplianceState eq 'NonCompliant' and IsExcluded eq false" `
    -SortBy "Timestamp desc" |
    Group-Object -Property ResourceId, PolicyDefinitionId |
    ForEach-Object { $_.Group[0] } # 保留每个资源-策略对的最新记录

步骤2:按政策集分组统计(匹配门户展示)

# 按政策集名称分组统计不合规资源数量
$complianceSummary = $cleanPolicyStates |
    Group-Object -Property PolicySetDefinitionName |
    ForEach-Object {
        [PSCustomObject]@{
            政策集名称 = $_.Name
            不合规资源数 = $_.Count
        }
    }

# 输出结果
$complianceSummary

关键逻辑说明

  • 筛选豁免资源:通过IsExcluded eq false排除门户中标记为豁免的资源,和门户统计逻辑一致
  • 去重历史记录:按ResourceId和PolicyDefinitionId分组,只保留最新的评估记录,避免重复统计
  • 范围对齐:确保-Scope参数和你在门户中查看的范围(订阅/管理组)完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 22:40:04