Private/Get-GroupInfo.ps1
|
function Get-GroupInfo { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string]$GroupId ) if ($null -eq $script:GroupInfoCache) { $script:GroupInfoCache = @{} } if ($script:GroupInfoCache.ContainsKey($GroupId)) { return $script:GroupInfoCache[$GroupId] } try { $groupUri = "$script:GraphEndpoint/v1.0/groups/$GroupId" $group = Invoke-MgGraphRequest -Uri $groupUri -Method Get $result = @{ Id = $group.id DisplayName = $group.displayName Success = $true } } catch { $result = @{ Id = $GroupId DisplayName = "Unknown Group" Success = $false } } $script:GroupInfoCache[$GroupId] = $result return $result } |