Azure subscriptions get messy fast.
A VM is deleted, but its disk stays. Nobody knows who owns a resource group. A former employee still shows up in the access list as "Identity not found".
None of this breaks anything today. But it costs money, and it makes audits painful.
So I cleaned up the checks I use and shared them on GitHub. This toolkit uses PowerShell 7 and the Az modules.
Repo: azure-governance-powershell-toolkit
The problem it solves
Resources have no tags, so nobody knows who to ask.
Unattached disks and idle public IPs add up on the bill.
Role assignments pile up. Some point to accounts that no longer exist.
Policy shows red, but nobody knows where to start.
These scripts make those checks quick and repeatable.
Highlight scripts
Get-AzMissingTagReport.ps1
Checks every resource group for your required tags. Add -IncludeResources to check every resource too. Then fix them in bulk with Set-AzTagFromCsv.ps1 .
. / Get - AzMissingTagReport .…