modules/Private/0.MainFunctions/Get-ARIUnsupportedData.ps1
|
<#
.Synopsis Retrieve unsupported data for Azure Resource Inventory .DESCRIPTION This module retrieves unsupported data from a predefined JSON file for Azure Resource Inventory. .Link https://github.com/microsoft/ARI/Modules/Private/0.MainFunctions/Get-ARIUnsupportedData.ps1 .COMPONENT This PowerShell Module is part of Azure Resource Inventory (ARI) .NOTES Version: 3.6.12 First Release Date: 15th Oct, 2024 Authors: Claudio Merola #> function Get-ARIUnsupportedData { try { Write-Debug ((get-date -Format 'yyyy-MM-dd_HH_mm_ss')+' - '+'Acquiring Token to retrieve list of retirements from Azure Advisor.') $Token = Get-AzAccessToken -AsSecureString -InformationAction SilentlyContinue -WarningAction SilentlyContinue -Debug:$false $TokenData = $Token.Token | ConvertFrom-SecureString -AsPlainText $header = @{ 'Authorization' = 'Bearer ' + $TokenData } } catch { Write-Debug ((get-date -Format 'yyyy-MM-dd_HH_mm_ss')+' - '+'Error: ' + $_.Exception.Message) return } $AdvisorMetadataUrl = "https://management.azure.com/providers/Microsoft.Advisor/metadata?api-version=2025-01-01&%24filter=recommendationCategory%20eq%20'HighAvailability'%20and%20recommendationSubCategory%20eq%20'ServiceUpgradeAndRetirement'%20and%20retirementDate%20ge%20'2024-01-01'&%24expand=ibiza" try { $AdvisorMetadata = Invoke-RestMethod -Uri $AdvisorMetadataUrl -Headers $header -Method Get -ErrorAction SilentlyContinue -WarningAction SilentlyContinue -InformationAction SilentlyContinue -Debug:$false } catch { Write-Debug ((get-date -Format 'yyyy-MM-dd_HH_mm_ss')+' - '+'Error: ' + $_.Exception.Message) return } $AdvisorRetirementData = foreach ($advisor in $AdvisorMetadata.value[0].properties.supportedValues) { $obj = [PSCustomObject] @{ "id" = $advisor.id "ServiceName" = $advisor.resourceMetadata.singular "RetiringFeature" = $advisor.sourceProperties.serviceRetirement.retirementFeatureName "RetirementDate" = $advisor.sourceProperties.serviceRetirement.retirementDate "Link" = $advisor.learnMoreLink } $obj } return $AdvisorRetirementData } |