Public/Okta/Get-OktaUserGroupMembership.ps1
function Get-OktaUserGroupMembership { Param ( [Parameter()] [string] $SearchString ) $Url = $OKTACredential.GetNetworkCredential().username $Token = $OKTACredential.GetNetworkCredential().Password $Headers = @{ "Authorization" = "SSWS $Token" "Accept" = "application/json" "Content-Type" = "application/json" } if ($SearchString) { $RestSplat = @{ Uri = 'https://{0}.okta.com/api/v1/users/?q={1}' -f $Url, $SearchString Headers = $Headers Method = 'Get' } } else { $RestSplat = @{ Uri = 'https://{0}.okta.com/api/v1/users' -f $Url Headers = $Headers Method = 'Get' } } $M2GHash = Get-OktaGroupMemberHash $User = Invoke-RestMethod @RestSplat foreach ($CurUser in $User) { $Group = $M2GHash[$CurUser.Profile.Login] foreach ($CurGroup in $Group) { [PSCustomObject]@{ FirstName = $CurUser.Profile.FirstName LastName = $CurUser.Profile.LastName Login = $CurUser.Profile.Login Email = $CurUser.Profile.Email GroupName = $CurGroup } } } } |