Public/Graph/GalSync/Get-GSGraphUserAll.ps1
function Get-GSGraphUserAll { [CmdletBinding()] param ( [Parameter(Mandatory)] [string] $Tenant ) begin { $Token = Connect-PoshGraph -Tenant $Tenant $Headers = @{ "Authorization" = "Bearer $Token" } $RestSplat = @{ Uri = 'https://graph.microsoft.com/beta/users' Headers = $Headers Method = 'Get' } do { $Token = Connect-PoshGraph -Tenant $Tenant try { $Response = Invoke-RestMethod @RestSplat -Verbose:$false -ErrorAction Stop $UserList = $Response.value if ($Response.'@odata.nextLink' -match 'skip') { $Next = $Response.'@odata.nextLink' } else { $Next = $null } $Headers = @{ "Authorization" = "Bearer $Token" } $RestSplat = @{ Uri = $Next Headers = $Headers Method = 'Get' } foreach ($User in $UserList) { $User | Select-Object * } } catch { $ErrorMessage = $_.Exception.Message Write-Host $User Write-Host $ErrorMessage } } until (-not $next) } process { } end { } } |