Jüngst wollte ich mir den Überblick über alle App Settings der vielen Web Apps, die wir einsetzen, und deren Werten verschaffen und dabei auch schauen, ob die Settings in allen Entwicklungs-Stages gleich bzw. analog passend sind. Dazu habe ich ein PowerShell Skript geschrieben, was alle Web Apps in allen aufgeführten Ressource Groups prüft und deren App Settings in ein gemeinsames CSV File exportiert:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | # Adjust theese as needed # Change this to the subscription you want to query $SubscriptionId = "1234567-890123-132312312" # Name the RG's here, that you want to check [string[]]$ResourceGroups = "RG-A","RG-B","RG-C" ### no changes needed below ### Connect-AzureRmAccount -Subscription $SubscriptionId Set-AzureRmContext -SubscriptionId $SubscriptionId $AllSettings = @() [string[]]$AllURLs = $null # Iterate over all RGs Foreach($RG in $ResourceGroups) { Write-Host "$RG..." # Get all WebApps in this RG $AllWebAppsInRG = Get-AzureRmWebApp -ResourceGroupName $RG Foreach($WebApp in ($AllWebAppsInRG)) { Write-Host "$($WebApp.SiteName)..." $webAppObject = Get-AzureRmWebApp -ResourceGroupName $RG -Name $($WebApp.SiteName) $AppSettings = $webAppObject.SiteConfig.AppSettings $AllURLs += $WebApp.DefaultHostName ForEach($Setting in $AppSettings) { Write-Host "$($Setting.Name)" $SettingObject = New-Object PSCustomObject $SettingObject | Add-Member -Type NoteProperty -Name "Ressource Group" -Value $RG $SettingObject | Add-Member -Type NoteProperty -Name "WebApp Name" -Value $($WebApp.SiteName) $SettingObject | Add-Member -Type NoteProperty -Name "WebApp URL" -Value $($WebApp.DefaultHostName) $SettingObject | Add-Member -Type NoteProperty -Name "Setting Name" -Value $($Setting.Name) $SettingObject | Add-Member -Type NoteProperty -Name "Setting Value" -Value $($Setting.Value) $AllSettings += $SettingObject } } } $AllSettings | ConvertTo-Csv -Delimiter ";" -NoTypeInformation | Out-File "AllAppSettings.csv" |
Danach sind die Settings alle in der Datei AllAppSettings im aktuellen Verzeichnis, und zwar so, dass man die Datei direkt in Excel öffnen kann. Viel Spaß beim Ausprobieren!