从VMware CLI修改VM属性

必须有一种方法来做到这一点,我错过了。 我试图从CLI同时修改一大堆虚拟机的属性:

看! 24个虚拟机:

$ vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 -l /vmfs/volumes/volumes/V-RHEL-01/V-RHEL-01.vmx /vmfs/volumes/volumes/V-RHEL-02/V-RHEL-02.vmx /vmfs/volumes/volumes/V-RHEL-03/V-RHEL-03.vmx … /vmfs/volumes/volumes/V-RHEL-24/V-RHEL-24.vmx 

我们尝试修改它们:

 $ for i in `seq -w 1 24`; do CFG="/vmfs/volumes/volumes/V-RHEL-$i/V-RHEL-$i.vmx" echo $CFG vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo memsize 8192 vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo sched.mem.min 2048 done 

结果是:

 /vmfs/volumes/volumes/V-RHEL-01/V-RHEL-01.vmx No virtual machine found. No virtual machine found. /vmfs/volumes/volumes/V-RHEL-02/V-RHEL-02.vmx No virtual machine found. No virtual machine found. /vmfs/volumes/volumes/V-RHEL-03/V-RHEL-03.vmx No virtual machine found. No virtual machine found. … 

我正在运行VMware-vSphere-CLI-5.1.0-780721和ESXi 5.1。

显然,当工具DISPLAYSconfiguration时,它使用旧的path样式格式。 但是当它接受它时,它使用数据存储引用:

 $ for i in `seq -w 1 24`; do CFG="[nfshost1-data] V-RHEL-$i/V-RHEL-$i.vmx" echo $CFG vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo memsize 8192 vmware-cmd --server 10.91.1.1 --username root --password vmware -h 10.91.1.3 "$CFG" setguestinfo sched.mem.min 2048 done [nfshost1-data] V-RHEL-01/V-RHEL-01.vmx setguestinfo(memsize 8192) = 1 setguestinfo(sched.mem.min 2048) = 1 … 

不是说这个实际上有效! 它似乎做了改变,但实际上并没有改变任何东西!