VMware ESXi shell command

Reference from vim-cmd of VMware ESX Server 3i 3.5.0 build-123629

Get help: vim-cmd help or vim-cmd -h

Guest VM control command

Commands available under vmsvc/:
acquiremksticket          get.configoption          power.off                 
connect                   get.datastores            power.on                  
convert.toTemplate        get.disabledmethods       power.reboot              
convert.toVm              get.environment           power.reset               
createdummyvm             get.filelayout            power.shutdown            
destroy                   get.guest                 power.suspend             
device.connection         get.guestheartbeatStatus  reload                    
device.connusbdev         get.managedentitystatus   setscreenres              
device.disconnusbdev      get.networks              snapshot.create           
device.diskadd            get.runtime               snapshot.get              
device.diskaddexisting    get.snapshotinfo          snapshot.remove           
device.diskremove         get.summary               snapshot.removeall        
device.getdevices         get.tasklist              snapshot.revert           
device.toolsSyncSet       getallvms                 snapshot.setoption        
device.vmiadd             gethostconstraints        tools.cancelinstall       
device.vmiremove          login                     tools.install             
devices.createnic         logout                    tools.upgrade             
get.capability            message                   unregister                
get.config                power.getstate            upgrade                   
get.config.cpuidmask      power.hibernate

List all guests: vim-cmd vmsvc/getallvms

~ # vim-cmd vmsvc/getallvms
Vmid         Name                                  File                             Guest OS      Version   Annotation
112    web07-3-datanode2   [datastore1] web07-3-datanode2/web07-3-datanode2.vmx   rhel5_64Guest   vmx-04              
128    web07-4-sqlnode1    [datastore1] web07-4-sqlnode1/web07-4-sqlnode1.vmx     rhel5_64Guest   vmx-04              
80     web07-1-mgm         [datastore1] web07-1-mgm/web07-1-mgm.vmx               rhel5_64Guest   vmx-04              
96     web07-2-datanode1   [datastore1] web07-2-datanode1/web07-2-datanode1.vmx   rhel5_64Guest   vmx-04

Get power state: vim-cmd vmsvc/power.getstate vmid

~ # vim-cmd vmsvc/power.getstate 80
Retrieved runtime info
Powered on

Power on: vim-cmd vmsvc/power.on vmid
Power off: vim-cmd vmsvc/power.off vmid
Reset: vim-cmd vmsvc/power.reset vmid
Reboot: vim-cmd vmsvc/power.reboot vmid

Disconnect vm from network: vim-cmd vmsvc/device.connection vmid deviceKey 0|1
1. Find network adapter device key

~ # vim-cmd vmsvc/device.getdevices 80
...
      (vim.vm.device.VirtualE1000) {
         dynamicType = <unset>, 
         key = 4000, 
         deviceInfo = (vim.Description) {
            dynamicType = <unset>, 
            label = "Network Adapter 1", 
            summary = "VM Network", 
         }, 
         backing = (vim.vm.device.VirtualEthernetCard.NetworkBackingInfo) {
            dynamicType = <unset>, 
            deviceName = "VM Network", 
            useAutoDetect = false, 
            network = 'vim.Network:HaNetwork-VM Network', 
         }, 
         connectable = (vim.vm.device.VirtualDevice.ConnectInfo) {
            dynamicType = <unset>, 
            startConnected = true, 
            allowGuestControl = true, 
            connected = true, 
         }, 
         controllerKey = 100, 
         unitNumber = 7, 
         addressType = "generated", 
         macAddress = "00:0c:29:fe:64:7f", 
         wakeOnLanEnabled = true, 
      }, 
...

From this sample, key is 4000.

2. Disconnect network adapter

~ # vim-cmd vmsvc/device.connection 80 4000 0

(Optional) 3. Re-connect network adapter

~ # vim-cmd vmsvc/device.connection 80 4000 1