All scripts
Governance 280
Get-AzurePolicyComplianceReport
Summarizes Azure Policy compliance state across the subscription by initiative, showing non compliant resource counts so remediation effort can be prioritized by scale.
Get-AzurePolicyComplianceReport.ps1
<#
.SYNOPSIS
Summarizes Azure Policy compliance across the subscription.
.DESCRIPTION
Pulls policy compliance state and groups non compliant resources by
the policy definition or initiative they are failing, so
remediation effort can be prioritized by how many resources are
actually affected rather than by which policy sounds most urgent.
.EXAMPLE
.\Get-AzurePolicyComplianceReport.ps1
.NOTES
Requires the Az.PolicyInsights module and an active Connect-AzAccount session.
.AUTHOR
Shehryar Hassan
#>
$states = Get-AzPolicyState -Filter "ComplianceState eq 'NonCompliant'"
$states | Group-Object PolicyDefinitionName | Sort-Object Count -Descending |
Select-Object -First 20 Name, Count | Format-Table -AutoSize
Write-Host "$($states.Count) non compliant resource(s) found across all assigned policies" -ForegroundColor Cyan
Read it before you run it, and test in a safe tenant first.