I would love to query VMs powerstate with azure cli in bash
Mine goal is to stop a virtual machine, but before that check if the machine was already stopped and vise versa.
So I need to get the powerstate of a specific VM, but I don’t see az vm list have that as a parameter. How could that be achieved?
2
Answers
Where is the issue to just try to stop the VM regardless of the state?
Adding a check for the state just adds additional processing time for the script.
However,
az vm list -d -o table
should give you what you are looking for.You could also query for the state directly
az vm list -d --query "[?powerState=='VM running']" -o table
The
-d
or--show-details
parameter will add the additional details you are looking for:https://learn.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az-vm-list
I tried to reproduce the same in my environment and got the results successfully like below:
To check Power state of the Azure Virtual Machine, please use the below command:
The command will give the status of the specific Azure VM. And based on that you can Start/Stop the Azure Virtual Machine.