Private/Get-TransitiveGroupMembership.ps1
|
function Get-TransitiveGroupMembership { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string]$GroupId ) $parentGroups = [System.Collections.ArrayList]::new() $uri = "$script:GraphEndpoint/beta/groups/$GroupId/transitiveMemberOf/microsoft.graph.group?`$select=id,displayName" try { foreach ($group in @((Invoke-IACGraphRequest -Uri $uri -Method Get).value)) { $null = $parentGroups.Add([PSCustomObject]@{ id = $group.id displayName = $group.displayName }) } } catch { Write-Warning "Error fetching parent group memberships for group '$GroupId': $($_.Exception.Message)" } return $parentGroups } |