pwsh/dev/functions/getSubscriptions.ps1 (27 lines of code) (raw):

function getSubscriptions { $startGetSubscriptions = Get-Date $currentTask = 'Getting all Subscriptions' Write-Host "$currentTask" $uri = "$($azAPICallConf['azAPIEndpointUrls'].ARM)/subscriptions?api-version=2020-01-01" $method = 'GET' $requestAllSubscriptionsAPI = AzAPICall -AzAPICallConfiguration $azAPICallConf -uri $uri -method $method -currentTask $currentTask $script:htAllSubscriptionsFromAPI = @{} $script:htSubscriptionsFromOtherTenants = @{} Write-Host " $($requestAllSubscriptionsAPI.Count) Subscriptions returned" foreach ($subscription in $requestAllSubscriptionsAPI) { if ($subscription.tenantId -ne $azAPICallConf['checkcontext'].tenant.id) { Write-Host " Finding: $($subscription.displayName) ($($subscription.subscriptionId)) belongs to foreign tenant '$($subscription.tenantId)' - Azure Governance Visualizer: excluding this Subscripion" -ForegroundColor DarkRed $script:htSubscriptionsFromOtherTenants.($subscription.subscriptionId) = @{ subDetails = $subscription } } else { $script:htAllSubscriptionsFromAPI.($subscription.subscriptionId) = @{ subDetails = $subscription } } } Write-Host " $($htAllSubscriptionsFromAPI.Keys.Count) Subscriptions relevant" $endGetSubscriptions = Get-Date Write-Host "Getting all Subscriptions duration: $((New-TimeSpan -Start $startGetSubscriptions -End $endGetSubscriptions).TotalSeconds) seconds" }