Ways to power off a virtual machine in an ESXi host using the command line
Source: https://kb.vmware.com/s/article/1014165
Using the ESXi command-line utility vim-cmd to power off the virtual machine
- SSH into your ESXi server
- Get a list of all registered virtual machines, identified by their VMID, Display Name and path to the .vmx configuration file by running this command: vim-cmd vmsvc/getallvms
vim-cmd vmsvc/getallvms
- Get the current state of a virtual machine by running this command:
vim-cmd vmsvc/power.getstate VMID
- Shutdown the virtual machine using the VMID found in Step 2 and run this command:
vim-cmd vmsvc/power.shutdown VMID
- If the virtual machine fails to shut down, run this command:
vim-cmd vmsvc/power.off VMID
Using the ESXi esxcli command to power off a virtual machine
The esxcli command can be used locally or remotely to power off a virtual machine running on ESXi 5.x or later.
- Open a console session where the esxcli tool is available and simply SSH to your ESXi machine.
- Get a list of running virtual machines, identified by World ID, UUID, Display Name, and path to the .vmx configuration file by running this command:
esxcli vm process list
- Power off the virtual machine from the list by running this command:
esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber
Notes:
- Three power-off methods are available. Soft is the most graceful, hard performs an immediate shutdown, and force should be used as a last resort.
- alternate power off command syntax is: esxcli vm process kill -t [ soft,hard,force] -w WorldNumber
- Repeat Step 2 and validate that the virtual machine is no longer running.