Red de conocimiento informático - Material del sitio web - Cómo eliminar máquinas virtuales y su almacenamiento asociado en lotes

Cómo eliminar máquinas virtuales y su almacenamiento asociado en lotes

Puede eliminar máquinas virtuales y discos en lotes ejecutando el archivo de script de PowerShell RemoveVMandDisk.ps1 en el archivo adjunto. El código detallado es el siguiente:

param($serviceName)

echo "Iniciando eliminar todas las máquinas virtuales del servicio $serviceName"

#$serviceName="erictest"

echo "Obtener todos los nombres de disco de todas las máquinas virtuales del servicio $serviceName."

$azureDiskNames= Get-AzureDisk| donde{$_.AttachedTo -ne $null -y

$_.AttachedTo.HostedServicename.StartsWith($serviceName)} seleccione DiskName

$ azureDiskNames

if($azureDiskNames -eq $null -or $azureDiskNames.Count -le 0){

echo "No se desean eliminar máquinas virtuales".

exit

}

echo "`r`nStarting remove all VMs of service $serviceName..."

Get-AzureVM | donde{$_.ServiceName .StartsWith($serviceName)} | Remove-AzureVM

-Verbose

#Dedica tiempo a eliminar la VM en el backend.

echo "Esperando eliminación de VM en el backend..."

Inicio-suspensión -Seconds 120* $azureDiskNames.Count

echo "`r`nIniciando eliminación de todos los discos relacionados... "

foreach($diskName in $azureDiskNames){

Get-AzureDisk | donde {$_.DiskName -eq $diskName.DiskName } |

Eliminar -AzureDisk -DeleteVHD -Verbose

}

echo "`r`nStarting eliminar todos los servicios"

Get-AzureService donde{$_.ServiceName.StartsWith | ($serviceName)} |

Remove-AzureService -Force -Verbose

Pasos de ejecución:

Abra Windows Azure PowerShell e importe la información de suscripción (Suscripción).

Para saber cómo instalar y configurar Azure PowerShell, consulte /publishsettings/index?client=powershell

, luego inicie sesión y obtenga el archivo de suscripción

Ejecute el comando Set-ExecutionPolicy RemoteSigned actualiza la política de ejecución.

Ejecute el script RemoveVMandDisk.ps1.

Sintaxis: RemoveVMandDisk.ps1 lt; ServiceNamegt; #Puedes eliminar todas las máquinas virtuales que comiencen con este ServiceName

Ejemplo: RemoveVMandDisk.ps1 ericwenService

Si Después de eliminar la máquina virtual, aparece el error "El disco actual está ocupado" al eliminar el disco. Puede modificar el tiempo de espera para la ejecución en segundo plano: Inicio-Suspensión -Seconds 120*

$azureDiskNames.Count<. /p>

También puede usar el comando (Get-AzureDisk | donde{ $_.AttachedTo -eq $null } | Remove-AzureDisk

-DeleteVHD -Verbose ) para eliminar todos los discos no utilizados (adjunto a la VM)

Los scripts y códigos anteriores son solo de referencia, puede ajustarlos y modificarlos de acuerdo con su lógica empresarial.