One-Liner: Stop and Deallocate Azure Virtual Machines
Here's something I do a lot. As I do it a lot, I thought others might also find it useful.
I run a number of cloud services in Windows Azure via my MSDN subscription. This subscription gives me a set amount per month to spend on VMs. As it's a set amount, I have to be careful when it comes to usage.
After a day of Azure frolics, I use the following one-liner to stop and deallocate running VMs from all my cloud services. This ensures I don't incur any unnecessary compute charges - if you don't deallocate, you're still paying!
Get-AzureVM |
Where-Object {$_.status -ne "StoppedDeallocated"} |
Stop-AzureVM -Force
Now, I'm usually pretty good at remembering to stop and deallocate, but if you're a little forgetful, you could set up a runbook to take care of the task for you. A runbook provides the scheduled execution of a PowerShell workflow. I guess I should write a follow up post!
Comments
- Anonymous
August 31, 2015
Recent Releases and Announcements
SQL 2016 CTP 2.3 has been released
http://www.microsoft - Anonymous
June 13, 2017
Hey Ian, Looks useful, thx for sharing.Any chance we can have something similar to this with Get-AzureRmVM for ARM? I tried adjusting this script but was not able to adapt appropriately getting only errors or full lists in return.Kr,Jan