Private/Okta/Get-OktaGroupMemberHash.ps1
function Get-OktaGroupMemberHash { Param ( ) $Url = $OKTACredential.GetNetworkCredential().username $Token = $OKTACredential.GetNetworkCredential().Password $Headers = @{ "Authorization" = "SSWS $Token" "Accept" = "application/json" "Content-Type" = "application/json" } $RestSplat = @{ Uri = "https://$Url.okta.com/api/v1/groups/" Headers = $Headers method = 'Get' } $Group = Invoke-RestMethod @RestSplat $M2G = @{} foreach ($CurGroup in $Group) { $GName = $CurGroup.profile.name $GId = $CurGroup.id $RestSplat = @{ Uri = "https://$Url.okta.com/api/v1/groups/$GId/users" Headers = $Headers method = 'Get' } $GrpMember = Invoke-RestMethod @RestSplat foreach ($CurGrpMember in $GrpMember) { $Login = $CurGrpMember.Profile.login if (-not $M2G.Contains($Login)) { $M2G[$Login] = [system.collections.arraylist]::new() } $null = $M2G[$Login].Add($GName) } } $M2G } |