Custom my-vmware-cmd management script

From VI-Toolkit
Jump to navigation Jump to search

Download script: my-vmware-cmd.sh

Supported On: ESX 3.5+ and ESXi

Please find more details located at: http://communities.vmware.com/docs/DOC-9061

This is a custom management script to help administer large virtual machine environments. This script is used to run administrative commands across a large set of virtual machines specified in a file. In particular, this tool complements the developed linked clones. scripts. For example, to save unique attributes (Active Directory personalities, etc.) for each linked VM, a final snapshot is executed on all linked VMs after joining each to the domain. After a specified duration, this script is then used to revert each VM back to a clean state. The same may be applied on other (non-linked) virtual machines currently residing on the ESX(i) server(s).

To get list of options, just execute the script:

 [root@himalaya scripts]# ./my-vmware-cmd.sh

Operations available:

 Usage:
       Local execution-
           my-vmware-cmd.sh [operation] [vm_input_file] <optional_arguments>
       Remote execution-
           my-vmware-cmd.sh remote [ESX_ESXI_IP_ADDRESS] [operation] [vm_input_file] <optional_arguments>
  Operations:
       start [vm_input_file]
          -- Start all VMs in the input file
       stop [vm_input_file]
          -- Stop all VMs in the input file
       suspend [vm_input_file]
          -- Suspend all VMs in the input file
       resume [vm_input_file]
          -- Resume all suspended VMs in the input file
       reset [vm_input_file]
          -- Hard reset all VMs in the input file
       shutdown [vm_input_file]
          -- Shutdown all VMs in the input file (VMware Tools required)
       reboot [vm_input_file]
          -- Reboot all VMs in the input file (VMware Tools required)
       snap [vm_input_file]
          -- Create administrative pristine snapshot of all VMs in the input file
       revert [vm_input_file]
          -- Revert all VMs in the input file back to pristine state
       purge [vm_input_file]
          -- Removes from local inventory and purges all VMs in the input file
       mac [vm_input_file] [generic|nixdhcp] [NETWORK (172.30.0)] [HOST_COUNT_START (200)] <NIC_#> default=0
          -- Extracts MAC addresses and generates either a generic file or one compatible with *nix dhcpd
              ( e.g. my-vmware-cmd.sh mac [vm_input_file] generic )
              ( e.g. my-vmware-cmd.sh mac [vm_input_file] nixdhcp 172.30.0 200 )
       vnic [vm_input_file] <NIC_#> default=0
          -- Change vNic portgroup for all VMs in the input file
              ( e.g. my-vmware-cmd.sh vnic [vm_input_file] 3 )