WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
$roleDefinitions= az role definition list --custom-role-only true --scope "/providers/Microsoft.Management/managementGroups/$managementGroup"--query "[].{name:name,roleName:roleName,id:id,assignableScopes:assignableScopes}"-o json |ConvertFrom-Json|Where-Object { $_.roleName-like"*$roleDefinitionsFilter*"-and$_.assignableScopes-contains"/providers/Microsoft.Management/managementGroups/$managementGroup" }
75
85
$roleDefinitions|ForEach-Object-Parallel {
76
86
$managementGroup=$using:managementGroup
77
87
$roleDefinition=$_
78
88
79
-
$roleAssignments= az role assignment list --role $roleDefinition.name--scope "/providers/Microsoft.Management/managementGroups/$managementGroup"--query "[].{id:id,principalName:principalName,principalId:principalId}"-o json |ConvertFrom-Json
89
+
Write-Host"$($roleDefinition.roleName) - $($managementGroup): Querying role assignments using Resource Graph for role definition $($roleDefinition.name)"
90
+
$query="authorizationresources | where type == 'microsoft.authorization/roleassignments' | where properties.roleDefinitionId == '/providers/Microsoft.Authorization/RoleDefinitions/$($roleDefinition.name)' | order by ['name'] asc"
91
+
$roleAssignments= az graph query -q $query--query "data[].{id:id,principalId:properties.principalId}"-o json |ConvertFrom-Json
az role assignment delete --ids $roleAssignment.id
86
98
} -ThrottleLimit 10
87
99
88
-
foreach ($subscriptionin$using:subscriptions) {
89
-
$subscriptionRoleAssignments= az role assignment list --role $roleDefinition.name--subscription $subscription--query "[].{id:id,principalName:principalName,principalId:principalId}"-o json |ConvertFrom-Json
Write-Host"Deleting role assignment: $($roleAssignment.id) for role definition: $($roleDefinition.roleName) in subscription: $subscription"
95
-
az role assignment delete --ids $roleAssignment.id
96
-
} -ThrottleLimit 10
97
-
}
98
-
99
100
Write-Host"Deleting custom role definition: $($roleDefinition.roleName) in management group: $managementGroup"
100
-
az role definition delete --name $roleDefinition.name--scope "/providers/Microsoft.Management/managementGroups/$managementGroup"
101
+
$result= az role definition delete --name $roleDefinition.name--scope "/providers/Microsoft.Management/managementGroups/$managementGroup"2>&1
102
+
if($result-like"*ERROR*")
103
+
{
104
+
Write-Warning"Role definition $($roleDefinition.roleName) in management group: $managementGroup could not be deleted...$([Environment]::NewLine)$result"
105
+
} else {
106
+
Write-Host"Role definition $($roleDefinition.roleName) in management group: $managementGroup deleted successfully."
0 commit comments