Azure CLI to check VM status

Solution 1:

You can use the '-d' flag with list and status for all VMs

az vm list -d -o table

For single VM, you can use:

az vm list -d -o table --query "[?name=='vm-name']"

If you need more specific results then you can also try:

az vm list -d --query "[?powerState=='VM running']" -o table

Solution 2:

You can get the vm status with this command:

az vm get-instance-view --name vmName --resource-group resourceGroupName --query instanceView.statuses[1] --output table

The output will like this:

enter image description here

Solution 3:

You can also run query in Azure Resource Graph Explorer

Resources
| project name, location, 
   PowerState=tostring(properties.extended.instanceView.powerState.code), type
| where type =~ 'Microsoft.Compute/virtualMachines'
| order by name desc