Private/DataProcessing/Get-AccessPackageResourceTypeLabel.ps1
|
function Get-AccessPackageResourceTypeLabel { <#! .SYNOPSIS Returns a user-friendly resource type label for an access package resource. .DESCRIPTION Maps Graph entitlementManagement resource metadata (originSystem/resourceType) to a small set of labels used in the Access Package Documentor report. .PARAMETER Resource A resource object (typically accessPackageResource) from entitlementManagement. .OUTPUTS System.String #> [CmdletBinding()] param( [Parameter(Mandatory)][ValidateNotNull()]$Resource ) $origin = if ($Resource.originSystem) { $Resource.originSystem.ToString().ToLower() } else { '' } $type = if ($Resource.resourceType) { $Resource.resourceType.ToString().ToLower() } else { '' } if ($origin -like '*group*') { return 'Group' } if ($origin -like '*oauth*') { return 'API Permission' } if ($origin -like '*aadapplication*' -or $origin -like '*serviceprincipal*') { return 'App' } if ($origin -like '*aadrole*' -or $origin -like '*directoryrole*' -or $type -like '*role*') { return 'Entra role' } if ($origin -like '*sharepoint*' -or $origin -like '*spo*' -or $type -like '*sharepoint*') { return 'SharePoint Site' } return 'Custom Data' } |