How to remove a batch of VMs and related Disks
Foreword
Need to remove a batch of VMs, which named with same prefix or belong to same Cloud Service. After remove VMs, should automatically remove related disk (OS disk & Data Disk) and related VHD file .
Keywords
PowerShell Get-AzureVM Remove-AzureVM
Summary
Write and run Windows Azure PowerShell script to implement this feature.
Detailed
- The PowerShell script is below.
param($serviceName)
echo "Starting remove all vms of service $serviceName"
#$serviceName="erictest"
echo "Get all DiskNames of all VMs of service $serviceName."
$azureDiskNames= Get-AzureDisk| where{$_.AttachedTo -ne $null -and $_.AttachedTo.HostedServicename.StartsWith($serviceName)} | select DiskName
$azureDiskNames
if($azureDiskNames -eq $null -or $azureDiskNames.Count -le 0){
echo "No VMs wanted to Remove."
exit
}
echo "`r`nStarting remove all VMs of service $serviceName..."
Get-AzureVM | where{$_.ServiceName.StartsWith($serviceName)} | Remove-AzureVM -Verbose
#It spends time to remove VM on backend.
echo "Waiting Removing VM on backend..."
Start-Sleep -Seconds 120* $azureDiskNames.Count
echo "`r`nStarting remove all related disks..."
foreach($diskName in $azureDiskNames){
Get-AzureDisk | where {$_.DiskName -eq $diskName.DiskName } | Remove-AzureDisk -DeleteVHD -Verbose
}
echo "`r`nStarting remove all services"
Get-AzureService | where{$_.ServiceName.StartsWith($serviceName)} | Remove-AzureService -Force -Verbose
- If want to remove all Disks not attached to any VM, can use one CmdLet : Get-AzureDisk| where{ $_.AttachedTo -eq $null } | Remove-AzureDisk -DeleteVHD -Verbose
- If want to create a batch of VMs with one data disk attached. How to create a batch of VMs with PowerShell
Conclusion
Reference
最新文章
- Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等
- APP如何实现推送功能
- caca393刷PTP教程
- R-Studio
- python 缩进问题
- uva 147
- 关于ajax提交的公共接口的一大用处
- c语言:最长对称子串(3种解决方案)
- Slow HTTP Denial of Service Attack 漏洞解决
- 【Java集合系列】---总体框架
- 实战 | Android中文图混排时文图的居中对齐 FontMetrics以及自定义ImageSpan实现
- powerdesigner 使用
- python学习笔记14-函数
- hibernate的hql语句不支持 count(case...when ....else..)?
- mysql获得60天前unix时间示例
- Composer 自动加载(autoload)机制
- 基于Json.NET自己实现MVC中的JsonValueProviderFactory
- CF1143D/1142A The Beatles
- POJ 1655 Balancing Act(求树的重心)
- redis基本命令,配置参数