modules/Private/1.ExtractionFunctions/Get-ARIManagementGroups.ps1
<#
.Synopsis Module responsible for retrieving Azure Management Groups. .DESCRIPTION This module retrieves Azure Management Groups and their associated subscriptions. .Link https://github.com/microsoft/ARI/Modules/Private/1.ExtractionFunctions/Get-ARIManagementGroups.ps1 .COMPONENT This PowerShell Module is part of Azure Resource Inventory (ARI). .NOTES Version: 3.6.8 First Release Date: 15th Oct, 2024 Authors: Claudio Merola #> function Get-ARIManagementGroups { Param ($ManagementGroup) Write-Debug ((get-date -Format 'yyyy-MM-dd_HH_mm_ss')+' - '+'Management group name supplied: ' + $ManagementGroup) $ReportCounter = 1 $LocalResults = @() $GraphQuery = "resourcecontainers | where type == 'microsoft.resources/subscriptions' | mv-expand managementGroupParent = properties.managementGroupAncestorsChain | where managementGroupParent.name =~ '$($ManagementGroup)'" $QueryResult = Search-AzGraph -Query $GraphQuery -first 1000 -Debug:$false $LocalResults += $QueryResult while ($QueryResult.SkipToken) { $ReportCounterVar = [string]$ReportCounter Write-Debug ((get-date -Format 'yyyy-MM-dd_HH_mm_ss')+' - '+'Extracting Next 1000 Subscriptions. Loop Number: ' + $ReportCounterVar) $QueryResult = Search-AzGraph -Query $GraphQuery -SkipToken $QueryResult.SkipToken -Subscription $FSubscri -first 1000 -Debug:$false $LocalResults += $QueryResult $ReportCounter ++ } $SubscriptionList = $LocalResults.subscriptionId return $SubscriptionList } |