tooling/azure-automation/resources-cleanup/src/clean-orphaned-role-assignments.ps1 (21 lines of code) (raw):
Param
(
[Parameter (Mandatory= $false)]
[System.Boolean] $dryRun = $false
)
Connect-AzAccount -Identity
Select-AzSubscription 1d3378d3-5a3f-4712-85a1-2485495dfc4b | Out-Null
$x = (Get-AzRoleAssignment |
Where-Object DisplayName -eq "aro-hcp-engineering-App Developer" |
Where-Object Scope -eq /subscriptions/1d3378d3-5a3f-4712-85a1-2485495dfc4b |
Where-Object RoleDefinitionName -eq "Contributor").ObjectType
if ($x -ne "Group" ) {
Write-Error "Wrong value for Objecttype, perhaps missing Directory Reader permissions on identity or IDs changed"
exit 1
}
if ($dryRun -eq "dry-run") {
Write-Host "Running in dry-run, would delete these Role Assignments"
Get-AzRoleAssignment | Where-Object ObjectType -eq "Unknown"
} else {
Get-AzRoleAssignment | Where-Object ObjectType -eq "Unknown" | Remove-AzRoleAssignment
}