Compartir a través de


Eliminación de recursos a escala mediante la CLI de Azure

Como administrador de recursos de Azure, con frecuencia tiene que eliminar varios recursos de Azure al anular un entorno antiguo. Algunos entornos de devTest de la CLI también necesitan una limpieza periódica, por lo que no se incurre en cargos por recursos temporales de Azure que han perdurado más tiempo.

En este ejemplo de la CLI de Azure, aprenderá lo siguiente:

  • Eliminación de varios recursos de Azure de un script
  • Registrar el progreso del script en un archivo TXT local

Este script de ejemplo se ha probado en Azure Cloud Shell en un entorno de Bash. Este script también se ha probado correctamente en Ubuntu 22.04.3 LTS mediante Terminal Windows.

Eliminación del filtrado de recursos de Azure por nombre

Use este script para enumerar y eliminar grupos de recursos que comienzan con una palabra determinada.

# Set your subscription
subscriptionID=00000000-0000-0000-0000-00000000
az account set --subscription $subscriptionID

# Set your log file location
logFileLocation="myLogName.txt"

# Get the name of all resource groups that start with 'msdocs'
az group list --query "[?starts_with(name, 'msdocs') == \`true\`].name" -o table

# Delete resource groups without a confirmation prompt (--yes)
# Do not wait for the operation to finish (--no-wait)
echo "Deleting resource groups">$logFileLocation
for rgList in $(az group list --query "[?starts_with(name, 'msdocs') == \`true\`].name" -o tsv); 
do
    echo "deleting resource group $rgList">>$logFileLocation
    az group delete --name $rgList --yes --no-wait
done

# read your log file with Linux "cat" command
clear
cat $logFileLocation

Eliminación del filtrado de recursos de Azure por fecha de creación

Use este script para enumerar y eliminar cuentas de almacenamiento creadas dentro de un intervalo de fechas.

# Set your log file location
logFileLocation="myLogName.txt"

# Set your resource group variable
rgName=<msdocs-rg-0000000>

# Get a list of Azure storage accounts that were created in the last 30 days. Return the results as a table.
saDate=$(date +%F -d "-30days")
az storage account list --resource-group $rgName \
                        --query "[?creationTime >='$saDate'].{saName:name, createdTimeStamp:creationTime}" \
                        --output table

# Delete storage accounts without a confirmation prompt (--yes).
# Do not wait for the operation to finish (--no-wait)
echo "Deleting storage accounts">$logFileLocation
for saList in $(az storage account list --resource-group $rgName \
                        --query "[?creationTime >='$saDate'].{saName:name, createdTimeStamp:creationTime}" \
                        --output tsv);
do
    echo "deleting storage account $saList">>$logFileLocation
    az storage account delete --ids $saList --yes --no-wait
done

# read your log file with Linux "cat" command
clear
cat $logFileLocation

Eliminación de todos los recursos de Azure de un tipo

Eliminación de todas las máquinas virtuales de un grupo de recursos

# Set your resource group variable
rgName=<msdocs-rg-0000000>

az group delete -n $rgName --force-deletion-types Microsoft.Compute/virtualMachines

Consulte también