Performing common virtual machine-related tasks with command-line utilities
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2012964Purpose
This article provides a side-by-side comparison of performing virtual machine-related tasks using different VMware utilities and command line methods.
Resolution
In these examples:
vcenter
is your vCenter Server hostnameesxhost
is your ESX/ESXi hostnamedatastore
is the display name of your datastorepath_to_vmx_on_datastore
is the path to the virtual machine's vmx file relative to the datastore on which it residesvm_name
is the display name of a virtual machinepath_to_vmx_file
is the full path to a virtual machine's vmx filesnapshot_name
is the name given to a virtual machine snapshotguest_admin_user
is a user account with administrative access within a virtual machine's guest OSguest_admin_password
is the password for the account noted byguest_admin_user
PowerCLI | vMA | cli | |
Register a VM | New-VM –vmfilepath “[datastore] path_to_vmx_on_datastore” –vmhostesxhost
|
vmware-cmd --server esxhost –s register path_to_vmx_file
| vim-cmd solo/registervm path_to_vmx_file
|
Unregister a VM | Remove-VM vm_name |
vmware-cmd --server esxhost –s unregister path_to_vmx_file
|
vim-cmd
vmsvc/unregister vmid
|
Delete a VM | Remove-VM vm_name -deletepermanently |
vmware-cmd --server esxhost –s unregister path_to_vmx_file
| vim-cmd vmsvc/destroy vmid |
Get a listing of VMs on a host | Get-VM –location esxhost |
vmware-cmd –-server esxhost –-username root –l vmware-cmd --server vcenter –-vihost esxhost -l
|
esxcli vm process list
vim-cmd vmsvc/getallvms
|
Determine if a VM has a snapshot | Get-VM –name vm_name | Get-Snapshot |
vmware-cmd --server esxhost path_to_vmx_file hassnapshot
| vim-cmd vmsvc/get.snapshot vmid |
Take a snapshot of a VM | Get-VM –name vm_name | New-Snapshot –name
snapshot_name |
vmware-cmd --server esxhost path_to_vmx_file createsnapshot
snapshot_name
| vim-cmd vmsvc/snapshot.create vmid snapshot_name |
Remove a snapshot of a VM | Get-VM –name vm_name | Get-Snapshot –name
snapshot_name | Remove-Snapshot |
vmware-cmd --server esxhost path_to_vmx_file removesnapshots
| vim-cmd vmsvc/snapshot.remove vmid |
Get the current power state of a VM | Get-VM –name vm_name |
vmware-cmd --server esxhost path_to_vmx_file getstate
| vim-cmd vmsvc/power.getstate vmid |
Get the uptime for a VM | Get-Stat -entity vm_name -stat sys.uptime.latest -MaxSamples 1 |
vmware-cmd --server esxhost path_to_vmx_file getuptime
| vim-cmd vmsvc/get.summary vmid |grep uptimeSeconds |
Power on a VM | Start-VM –vm vm_name |
vmware-cmd --server esxhost path_to_vmx_file start
| vim-cmd vmsvc/power.on vmid |
Shutdown a VM | Shutdown-VMGuest –vm vm_name |
vmware-cmd --server esxhost path_to_vmx_file stop soft
| vim-cmd vmsvc/power.shutdown vmid |
Power off a VM | Stop-VM –vm vm_name |
vmware-cmd --server esxhost path_to_vmx_file stop hard
|
esxcli vm process kill –w world_id
|
Reboot a VM | Restart-VMGuest –vm vm_name |
vmware-cmd --server esxhost path_to_vmx_file reset soft
| vim-cmd vmsvc/power.reboot vmid |
Reset a VM | Restart-VM –vm vm_name |
vmware-cmd --server esxhost path_to_vmx_file reset hard
| vim-cmd vmsvc/power.reset vmid |
Upgrade VMware Tools in a VM | Update-Tools –vm vm_name | N/A | vim-cmd vmsvc/tools.upgrade vmid |
Display the IP address of a VM | Get-VMGuestNetworkInterface –vm vm_name -guestuserguest_admin_user -guestpassword
guest_admin_password |
vmware-cmd --server esxhost path_to_vmx_file getguestinfo ip
| vim-cmd vmsvc/get.guest vmid |grep -m 1 "ipAddress = \"" |
http://blogs.vmware.com/vsphere/files/2012/11/ESXi-5.1-Poster.pdf