Scripts/Helpers/Set-UniqueRoleAssignmentScopes.ps1 (28 lines of code) (raw):

function Set-UniqueRoleAssignmentScopes { [CmdletBinding()] param ( [string] $ScopeId, [hashtable] $UniqueRoleAssignmentScopes ) $splits = $ScopeId -split "/" $segments = $splits.Length $scopeType = switch ($segments) { 3 { "subscriptions" break } 5 { $splits[3] break } { $_ -gt 5 } { "resources" break } Default { "unknown" } } $table = $UniqueRoleAssignmentScopes.$scopeType $table[$ScopeId] = $scopeType }