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
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Proteggere l'endpoint dell'agente A2A delle Logic App
Testare il failover sulle region in Azure Storage
Abilitare .NET 10 su Azure App Service e Azure Functions
Implementare il throttle in JavaScript
Integrare Agenti A2A in Azure API Management
Integrare modelli AI in un workflow di GitHub
Configurare lo startup di applicazioni server e client con .NET Aspire
Potenziare la ricerca su Cosmos DB con Full Text Search
Utilizzare Containers in .NET Aspire
Anonimizzare i dati sensibili nei log di Azure Front Door
Utilizzare WhenEach per processare i risultati di una lista di task


