今天遇到个很奇特的情况,一台vsphere里的虚拟机装了windows2003系统,可能是因为新装,没打任何补丁,用来上网下载点东西,结果居然中了毒,无法建立网络连接了,vcenter console登上去,访问任意网络地址都报出MSVCP71.dll没了...无网络,还是远程的虚拟机,怎么把解决的什么大师工具传上去?或者怎样把里面我需要的东西拷出来?
好在这台windows2003装过vmware tools, 但在vcenter上找了一圈,没找到如何通过vmware tools来访问虚拟机内文件的办法。
又好在我用过python的pysphere包,它似乎提供了通过vmware tools来操作虚拟机的一些方法,找了找,果然有get_file和send_file方法!
具体使用如下:
[root@localhost ~]# python Python 2.7.3 (default, Nov 22 2013, 09:40:53) [GCC 4.1.2 20080704 (Red Hat 4.1.2-48)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from pysphere import * >>> vc_ip='172.16.1.162' >>> user='Administrator' >>> passwd='china@123' >>> s=VIServer() >>> s.connect(vc_ip,user,passwd) >>> vm1=s.get_vm_by_name('npiv_test') >>> vm1.login_in_guest('Administrator','admin') >>> vm1.get_file("c:\\temp\\MH01385.txt","/root/a.txt") >>> vm1.get_file("c:\\temp\\HMC_Update_V7R730_SP6.iso","/root/HMC_Update_V7R730_SP6.iso") >>> >>> >>> >>> >>> vm1.get_file("c:\\temp\\MH01385.dd.xml","/root/MH01385.dd.xml") >>> vm1.get_file("c:\\temp\\MH01385.pd.sdd","/root/MH01385.pd.sdd") >>> vm1.get_file("c:\\temp\\MH01385.readme.html","/root/MH01385.readme.html") >>> vm1.get_file("c:\\temp\\MH01385.txt","/root/MH01385.txt")
就这样,我成功把需要的文件传到了另外一台redhat机器上了。