internal/functions/Split-AzPolicyResourceId.ps1
function Split-AzPolicyResourceId { [CmdletBinding()] param ( [string] $Id ) $splits = $Id -split "/" $name = $splits[-1] $segments = $splits.Length $end = $splits.Count - 5 $scopeType = switch ($segments) { 5 { "builtin" } 7 { "subscriptions" } 9 { $splits[3] } Default { "unknown" } } $definitionKey = $Id if ($scopeType -ne "builtin") { $definitionKey = $splits[-2..-1] -join "/" } $result = @{ id = $Id name = $name segments = $segments splits = $splits scope = $splits[0..$end] -join "/" scopeType = $scopeType kind = $splits[-2] definitionKey = $definitionKey } return $result } |