Get-OktaURIRecursive.psm1
$FunctionScriptName = "Get-OktaURIRecursive" Write-Verbose "Import-Start| [$($FunctionScriptName)]" #* Dependencies # N/A function Get-OktaURIRecursive { <# .SYNOPSIS Get Okta API data - recursive .Description Get recursive Okta API data Uses nextLink property .NOTES AUTHOR: Ken Dobrunz // Ken.Dobrunz@skaylink.com | Direkt Gruppe LASTEDIT: 10.03.2023 - Version: 1.0 #> [cmdletbinding()] Param( [Parameter(Mandatory = $true)]$uri, [Parameter()]$APIkey, [Parameter()]$Header_OkktaResponse ) Begin { $ProgressPreference = 'SilentlyContinue' $OktaHeader = @{ Accept="application/json" "Content-Type"="application/json" "Authorization"= "SSWS " + $APIkey } if($Header_OkktaResponse){ $OktaHeader.'okta-response' = $Header_OkktaResponse } } process { $functionlist = @() while ($null -ne $uri) { $response = (Invoke-WebRequest -Method GET -Uri $uri -Headers $OktaHeader) $functionlist = $functionlist + ($response.content | ConvertFrom-Json) if ($null -ne ($response.RelationLink.next)) { $uri = $response.RelationLink.next } else { $uri = $null } } return $functionlist } } #v1.1 Export-ModuleMember -Function * Write-Verbose "Import-END| [$($FunctionScriptName)]" |