Tuesday, November 8, 2016

VMware VM machine-related tasks with command-line utilities


Purpose

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 hostname
  • esxhost is your ESX/ESXi hostname
  • datastore is the display name of your datastore
  • path_to_vmx_on_datastore is the path to the virtual machine's vmx file relative to the datastore on which it resides
  • vm_name is the display name of a virtual machine
  • path_to_vmx_file is the full path to a virtual machine's vmx file
  • snapshot_name is the name given to a virtual machine snapshot
  • guest_admin_user is a user account with administrative access within a virtual machine's guest OS
  • guest_admin_password is the password for the account noted by guest_admin_user
 
PowerCLI
vMA
Esxi cli
Register a VM
New-VM –vmfilepath “[datastore] path_to_vmx_on_datastore” –vmhost esxhost
vmware-cmd --server esxhost –s register path_to_vmx_file
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost esxhost –s unregister path_to_vmx_file vifs --server esxhost --rm “[datastore] path_to_vmx_on_datastore
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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost esxhost path_to_vmx_file stop hard
esxcli vm process kill –w world_id
vim-cmd vmsvc/power.off vmid
Reboot a VM
Restart-VMGuest –vm vm_name
vmware-cmd --server esxhost path_to_vmx_file reset soft
vmware-cmd --server vcenter --vihost 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
vmware-cmd --server vcenter --vihost 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 -guestuser guest_admin_user -guestpassword guest_admin_password
vmware-cmd --server esxhost path_to_vmx_file getguestinfo ip
vmware-cmd --server vcenter --vihost esxhost path_to_vmx_file getguestinfo ip
vim-cmd vmsvc/get.guest vmid |grep -m 1 "ipAddress = \""

Additional Information

The VMware vCLI can also be used. The commands are almost the same as the vMA commands, but vmware-cmd and vifs are vmware-cmd.pl and vifs.pl, respectively.

No comments:

Post a Comment

Thanks for showing interest in tech-jockey.

Content of this blog has been moved to GITHUB

Looking at current trends and to make my content more reachable to people, I am moving all the content of my blog https://tech-jockey.blogsp...