I resource group sono raggruppamenti logici di qualsiasi risorsa possiamo utilizzare all'interno della piattaforma Microsoft Azure. Con il passare del tempo queste risorse vengono spostate, per una migliore organizzazione, oppure eliminate perché non più necessarie. Questo è vero soprattutto per vecchie risorse che hanno assunto un resource group automatico dal nome poco intuitivo.
E' facile quindi ritrovarsi con uno o più gruppi di risorse vuoti che possiamo tranquillamente eliminare. Per questo genere di task PowerShell è perfetto, perché con poche righe ci risolve anche qualche ora di lavoro. Se accediamo a http://shell.azure.com/ possiamo accedere direttamente alla shell preconfigurata con Azure contenente tutto il necessario.
In questo script proponiamo uno snippet da lanciare che cicla su tutte le sottoscrizioni della directory corrente ed elimina tutti i resource group vuoti.
# Lista delle sottoscrizioni
$subids = (Get-AzureRMSubscription).ID
ForEach ($sub in $subids) {
# Seleziona la sottoscrizione
Select-AzureRmSubscription -SubscriptionId $Sub | Out-Null
# Recupera tutte i gruppi di risorse
$all = (Get-AzureRmResourceGroup).ResourceGroupName
# Recupera le risorse e i rispettivi gruppi usati
$used = (Get-AzureRMResource | Group-Object ResourceGroupName).Name
# Trova quelli vuoti
$empty = $all | Where-Object {$_ -notin $used}
# Cancella ogni gruppo
ForEach ($r in $empty) {
Write-Host "Deleting '$r' Resource Group"
Remove-AzureRmResourceGroup -Name $r
}
}Ecco come appare lo script sulla shell.

Se siamo sicuri di voler cancellare i gruppi senza conferma, alla riga Remove-AzureRmResourceGroup possiamo aggiungere lo switch -Force.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Selettore CSS :has() e i suoi casi d'uso avanzati
Migliorare l'organizzazione delle risorse con Azure Policy
Controllare la velocità di spostamento su una pagina HTML
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Gestione file Javascript in Blazor con .NET 9
Introduzione ai web component HTML
Recuperare automaticamente un utente e aggiungerlo ad un gruppo di Azure DevOps
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Popolare una classe a partire dal testo, con Semantic Kernel e ASP.NET Core Web API
Supportare la crittografia di ASP.NET Core con Azure Container App
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
I più letti di oggi
- September CTP per Longhorn Server
- Windows 8 Developer Event e Lab - Milano
- Microsoft Security Bulletin MS04-040
- Blazor Conference 2020 Live - Online
- .NET Conference Italia 2025 - Milano
- The Agentic Day - Milano
- Generare file per il download da Blazor WebAssembly
- Una classe Comparer per ordinare le collection con Generics


