Public/Okta/Get-OktaAppReport.ps1
function Get-OktaAppReport { 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/apps/" Headers = $Headers Method = 'Get' } $App = Invoke-RestMethod @RestSplat foreach ($CurApp in $App) { $Id = $CurApp.Id $Accessibility = ($CurApp).Accessibility $Visibility = ($CurApp).Visibility $Credentials = ($CurApp).Credentials $Features = ($CurApp).Features $Settings = ($CurApp).Settings [PSCustomObject]@{ Name = $CurApp.Name Label = $CurApp.Label Status = $CurApp.Status SignOnMode = $CurApp.SignOnMode TenantType = $Settings.app.tenantType Domain = $Settings.app.domain MsftTenant = $Settings.app.msftTenant CustomDomain = $Settings.app.customDomain FilterGroupsByOU = $Settings.app.filterGroupsByOU Created = $CurApp.Created LastUpdated = $CurApp.LastUpdated Activated = $CurApp.Activated UserNameTemplate = $Credentials.UserNameTemplate.Template UserNameTemplateType = $Credentials.UserNameTemplate.Type CredentialScheme = $Credentials.Scheme AppId = $Id Features = ($Features -join (';')) } } } |