Private/Get-GroupById.ps1
|
function Get-GroupById { <# .SYNOPSIS Retrieves an Entra ID group by its Object ID. .DESCRIPTION Fetches a single group from Microsoft Graph using the group's Object ID (GUID). Returns null if the group is not found. #> param( [Parameter(Mandatory)] [string]$GroupId ) try { $uri = "$script:GraphBaseUrl/groups/$GroupId`?`$select=id,displayName,description,membershipRule,groupTypes,securityEnabled" $group = Invoke-Graph -Uri $uri if ($group) { # Add GroupType indicator $groupType = if ($group.membershipRule) { "Dynamic" } else { "Assigned" } $group | Add-Member -NotePropertyName "GroupType" -NotePropertyValue $groupType -Force return $group } } catch { # Group not found or invalid ID return $null } return $null } |