Abner Kou原创,转载请注明出处 http://abner.cublog.cn
远程批量启动或关闭
ESXServer
上的虚拟机
Vmware提供了命令行管理虚拟机的接口,即vmware-cmd,通过这个命令行接口可以完成对虚拟机的诸多操作,比如重启、关闭、开机、配置快照等等。配合Plink.exe这个工具可以实现远程执行Vmware-cmd,plink相当于Putty的命令行模式。这样通过制作脚本,实现在远程批量操作虚拟机了。
一:准备工作
1:下载PUTTY
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
下载PUTTY和plink,将连个文件放入同一文件夹内
2:双击Putty,Host Name处填入ESXSrver主机的名称或IP地址;Saved Sessions随便填入一个连接名称,点击Save,保存链接
3:重新打开PUTTY,双击刚才保存的VmServer06的链接,试验能否正确链接到ESXServer主机
二:试验关闭、开启虚拟机
1:远程主机上,打开CMD命令行,定位到存放putty和plink的文件夹,输入如下命令
plink.exe -load "VmServer06" -ssh -batch -l user -pw yourpass -m stop.txt
VmServer06 前面保存的PUTTY的链接名称
User 用来连接ESXServer的用户名
Yourpass SSH连接ESXServer的密码
Stopt.txt 存放Vmware-cmd执行命令的文件
2:关机脚本stop.txt
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx stop exit
/vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx 表示虚拟机存放镜像的路径
将stop.txt存放到与putty相同的路径
3:运行步骤1中的命令,关闭Vmserver02的虚拟机
显示 stop<> =1,成功关闭虚拟机VmServer02
4:同理试验开启虚拟机,制作开机脚本start.txt,命令如下
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmGhost01/VmGhost01.vmx start exit
保存成start.txt
5:CMD下输入命令
plink.exe -load "VmServer06" -ssh -batch -l user -pw yourpass -m start.txt
6:结果显示成功启动虚拟机
三:制作开机、关机脚本
1:按照试验的方法,将ESXServer上的虚拟机添加到Start.txt和Stop.txt中
如start.txt
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx start
vmware-cmd /vmfs/volumes/VmServer06\:storage1//VmGhost01/VmGhost01.vmx start
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer04.vmx start exit
stop.txt
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer02.vmx stop
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmGhost01/VmGhost01.vmx stop
vmware-cmd /vmfs/volumes/VmServer06\:storage1/VmServer02/VmServer04.vmx stop exit
2:制作plink命令的脚本
开机脚本start.bat
@echo off
plink.exe -load "VmServer06" -ssh -batch -l user -pw yourpass -m start.txt
关机脚本
@echo off
echo 确认要关闭虚拟机吗?确认按任意键继续;退出点击关闭
pause
plink.exe -load "VmServer06" -ssh -batch -l user -pw yourpass -m stop.txt
现在在任意一台XP客户端双击运行脚本,就可以远程批量开启或关闭虚拟机了