public/Export-OktaAuthorizationServer.ps1
function Export-OktaAuthorizationServer { param ( [Parameter(Mandatory)] [Alias("Id")] [string] $AuthorizationServerId, [Parameter(Mandatory)] [ValidateScript( { Test-Path $_ -PathType Container })] [string] $OutputFolder ) Push-Location $OutputFolder try { if ($PSVersionTable.PSVersion.Major -ge 7) { $encoding = [System.Text.Encoding]::ASCII } else { $encoding = "ascii" } Get-OktaAuthorizationServer -AuthorizationServerId $AuthorizationServerId -Json | Out-File auth.json -Encoding $encoding Join-Path $PWD "auth.json" $i = 1 Get-OktaClaim -AuthorizationServerId $AuthorizationServerId -Json | ForEach-Object { $_ | ConvertTo-Json -Depth 10 | out-file "claim_$i.json" -enc $encoding Join-Path $PWD "claim_$i.json" $i += 1 } $i = 1 Get-OktaScope -AuthorizationServerId $AuthorizationServerId -Json | ForEach-Object { $_ | ConvertTo-Json -Depth 10 | out-file "scope_$i.json" -enc $encoding Join-Path $PWD "scope_$i.json" $i += 1 } $i = 1 Get-OktaPolicy -AuthorizationServerId $AuthorizationServerId | ForEach-Object { $_ | ConvertTo-Json -Depth 10 | out-file "policy_$i.json" -enc $encoding Join-Path $PWD "policy_$i.json" $i += 1 $j = 1 Get-OktaRule -AuthorizationServerId $AuthorizationServerId -PolicyId $_.id -Json | ForEach-Object { $_ | ConvertTo-Json -Depth 10 | out-file "rule_${i}_$j.json" -enc $encoding Join-Path $PWD "rule_${i}_$j.json" $i += 1 } } } finally { Pop-Location } } |