發(fā)布時間:2024-04-16 文章來源:深度系統(tǒng)下載 瀏覽:
VMware提供的可編程接口,何謂Vmrun命令?其實這并不是什么神秘的東西,相信部分朋友使用過Vmware workstation來安裝過一些虛擬機吧。如果你足夠細心的話,你會發(fā)現(xiàn)在這個軟件的安裝目錄下能找到一個Vmrun.exe可執(zhí)行文件。如果你從命令行敲入vmrun.exe(當(dāng)然你得切換到workstation的根目錄下),你會驚奇的發(fā)現(xiàn)很多該命令提供了很多的參數(shù),這些參數(shù)的功能成為了Host機器與Guest機器之間的功能強大的連接橋梁。那么,先一睹下到底有哪些VMware提供的可編程接口命令可供我們玩轉(zhuǎn)。 1、POWER COMMANDS 如下圖:
從上可以看出,這些命令參數(shù)可以完成開啟或者關(guān)閉虛擬機等操作~ 比如關(guān)機命令可以使用:vmrun start "D:windows7Win7.vmx"來啟動虛擬機,其中start后面的是要啟動的虛擬機系統(tǒng)的配置文件的位置 其他的幾個類似,故不再贅述 2、SNAPSHOT COMMANDS 如下圖:
顧名思義,這組命令參數(shù)主要是用于操作虛擬機系統(tǒng)的快照的。何謂快照,簡單的說就是當(dāng)前系統(tǒng)整個的狀態(tài)信息。而創(chuàng)建快照(snapshot)的目的,則是在于保存當(dāng)前系統(tǒng)的狀態(tài), 而還原快照(revertToSnapshot)則可以從當(dāng)前的系統(tǒng)狀態(tài)還原到指定快照時候的系統(tǒng)狀態(tài)。這樣做對于測試人員來說不難理解,因為測試必須保證處于干凈的系統(tǒng)環(huán)境,所謂干凈的測試環(huán)境則是指一個操作系統(tǒng)從被創(chuàng)建開始,只在上面安裝過與測試相關(guān)的軟件與配置,且只能做一次性的測試。而想要達到多次測試的目的,只能通過不斷的revert到干凈的測試環(huán)境那個快照點。 從上圖中可以看出,我們可以通過命令來查看系統(tǒng)所有的快照(listSnapshots)、為系統(tǒng)創(chuàng)建快照(snapshot)、刪除系統(tǒng)中指定快照(deleteSnapshot)、恢復(fù)到某個快照(revertToSnapshot)這幾個命令,如下所示: 創(chuàng)建快照: vmrun snapshot "D:Windows7Win7.vmx" "snapshot1" 但是,一般情況下光是上面還是不行的,尤其是當(dāng)你想從代碼級調(diào)用該命令創(chuàng)建虛擬機快照的時候,往往需要用戶名與密碼來驗證。那么該怎么寫呢?正確的命令如下: vmrun -gu 你虛擬機系統(tǒng)的用戶名 -gp 你虛擬機系統(tǒng)的密碼 snapshot "D:Windows7Win7.vmx" "snapshot1" (<=快照名稱) 上面的這個命令是不是一定會成功?也不一定,如果還是失敗的話,那么請嘗試下面三個操作,如果還是解決不了你的問題的話,那么筆者保持沉默~ 1)先檢測是否支持虛擬機快照的創(chuàng)建 檢測方法很簡單, 查看工作站的菜單項的Vm選項下的Snapshot子選項,如下圖:
如果Snapshot右彈出菜單所有選項都灰掉的話,那么你得考慮先解決掉這個問題了 2)檢測是不是Vmtools在搗鬼 確定你的虛擬機系統(tǒng)中有沒安裝Vmtools或者是不是可以進行更新,如果沒裝請裝之,裝了的話最好update下,關(guān)于怎么安裝或更新另請查詢。 3)加上本地系統(tǒng)用戶名與密碼驗證 vmrun -u Host機器的用戶名 -p Host機器的密碼 -gu 虛擬機系統(tǒng)的用戶名 -gp 虛擬機系統(tǒng)的密碼 snapshot "vmx path" "snapshot1" 3、GUEST OS COMMAND 如下圖:
這組命令很有實用性,主要是可以在Host機器的下,對Guest機器(也就是虛擬機系統(tǒng))進行一列的操作,如文件操作、進程操作、運行指定程序和運行腳本等,這些命令都是需要用戶名與密碼的驗證,也就是在命令行中加上-gu與-gp參數(shù),參見上面。 這組命令中可能需要注意的是,runProgramInGuest命令可以執(zhí)行虛擬機系統(tǒng)中的一些命令,如打開一個notepad,直接敲入如下命令: vmrun -gu Guest系統(tǒng)用戶名 -gp Guest系統(tǒng)密碼 runProgramInGuest "D:Windows7Win7.vmx" notepad 如果想要打開虛擬機C盤根目錄下的1.txt文件,可以在運行的程序后面加上參數(shù),如下: vmrun -gu Guest系統(tǒng)用戶名 -gp Guest系統(tǒng)密碼 runProgramInGuest "D:Windows7Win7.vmx" notepad C:1.txt 如果你在代碼級別調(diào)用這個命令,希望你能夠始終意識到一個事實,那就是上述命令默認是等到在Guest機器運行的程序結(jié)束后才返回。如果,親愛的你,串行的執(zhí)行一系列的命令,而前一個命令恰恰是個Long wait的程序,那么這之后的程序往往會掛住,無法執(zhí)行。如你使用上述命令打開一個文本后,那么主程序就會等到你將Guest系統(tǒng)中的notepad關(guān)閉才會返回。 那么,這個時候,你可以選擇-nowait開關(guān)命令來選擇無等待的執(zhí)行,即每個命令一執(zhí)行后就返回,不會產(chǎn)生阻塞,命令如下: vmrun -gu Guest系統(tǒng)用戶名 -gp Guest系統(tǒng)密碼 runProgramInGuest "D:Windows7Win7.vmx" -nowait notepad C:1.txt 其他的命令,大家可以自己嘗試下,在此不再贅述。
|