今天遇到個很奇特的情況,一臺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機器上了。