新聞中心
如何在Hyper-V里使用PowerShell或VBScript腳本?
作者:無(wú)名 2009-06-30 18:05:12
系統(tǒng)
Windows
虛擬化 為了有效地管理虛擬化平臺(tái),你需要強(qiáng)有力的腳本工具。這能允許幾種級(jí)別的配置,并且縮短配置時(shí)間。

公司主營(yíng)業(yè)務(wù):成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、外貿(mào)營(yíng)銷網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出天祝藏族自治免費(fèi)做網(wǎng)站回饋大家。
為了有效地管理虛擬化平臺(tái),你需要強(qiáng)有力的腳本工具。這能允許幾種級(jí)別的配置,并且縮短配置時(shí)間。微軟Hyper-Visor的腳本選項(xiàng)包括能在Hyper-V腳本環(huán)境里使用VBScript和增強(qiáng)型PowerShell。在本文中,TechTarget中國(guó)特約虛擬化專家Rick Vanover將介紹Hyper-V腳本是如何工作的,并舉出幾個(gè)例子。
Hyper-V的腳本環(huán)境通常叫做Windows Management Instrumentation(WMI),我們將注重虛擬化命名空間。使用WMI界面,管理員擁有使用Hyper-V完成大量任務(wù)的腳本。使用PowerShell Management Library讓管理更加輕松。
確定使用何種腳本取決于需要什么及可用什么。我會(huì)關(guān)注不能由System Center Virtual Machine Manager(SCVMM)集中管理的Hyper-V服務(wù)器,因?yàn)槲④洖镾CVMM實(shí)施提供了額外的腳本選項(xiàng)。檢查TechNet頁(yè)查看SCVMM腳本概況。
微軟更擅長(zhǎng)書寫腳本
我的職業(yè)就是圍繞著所需的腳本打轉(zhuǎn)。微軟有比你或者我自己獨(dú)立創(chuàng)建的更好的腳本。幸好有許多資源可以使用。下面是一個(gè)清單,列出了開始使用Hyper-V腳本的在線資源:
Virtual PC Guy的網(wǎng)絡(luò)日志。Ben Armstrong的Microsoft Developer Network (MSDN)博客有來(lái)自所有微軟虛擬化系統(tǒng)的簡(jiǎn)單腳本資源。
Taylor Brown的博客。這是另一個(gè)強(qiáng)有力的資源。Brown包括了幾個(gè)使用案例,包括關(guān)于SCVMM的一個(gè)案例。
微軟虛擬化團(tuán)隊(duì)博客地址。這個(gè)博客包括所有與Hyper-V相關(guān)的東西,也有其他虛擬化資源。
PowerGUI.org的Hyper-V PowerPack。這相當(dāng)于VMware的VI Toolkit,來(lái)自PowerGUI的功能是必須要有的,確保查看TechTarget上Eric Seibert寫的關(guān)于這個(gè)工具包的技巧。
獲取虛擬機(jī)信息的案例
既然我們對(duì)腳本選項(xiàng)作了一個(gè)概述,現(xiàn)在我們來(lái)看看實(shí)例。在Hyper-V里使用的PowerShell腳本,幾乎每個(gè)資源都以查詢腳本開始,尤其是包括決定性操作的腳本。這只是與Hyper-V的虛擬化命名空間交互影響的一個(gè)單行方式,并獲取虛擬機(jī)信息就像它存在于命名空間。許多腳本想要查詢這個(gè)獲取當(dāng)前的狀態(tài),如OperationalStatus的值,這表明了虛擬機(jī)的運(yùn)行狀態(tài)。下面這個(gè)簡(jiǎn)單的命令能從名為“TESTVM1”的虛擬機(jī)獲取信息:
Get-WmiObject -Namespace root\virtualization -Query "Select * From Msvm_ComputerSystem Where ElementName='TESTVM1'"
如果你想在自己的環(huán)境中運(yùn)行虛擬機(jī),那它的名字是唯一需要更改的地方。當(dāng)在PowerShell里執(zhí)行時(shí),顯示結(jié)果見(jiàn)下圖1:
點(diǎn)擊放大
注意,虛擬機(jī)的OperationalStatus值顯示為“2”,意味著它在運(yùn)行。
使用VBScript腳本停止或啟動(dòng)虛擬機(jī)
開啟和停止虛擬機(jī)這樣的基本任務(wù)是學(xué)習(xí)腳本的好的開始。不同于PowerShell,Hyper-V機(jī)器能通過(guò)VBScript交互,并且能完全訪問(wèn)WMI虛擬化命名空間。下面的腳本執(zhí)行的是啟動(dòng)使用由VBScript關(guān)閉的虛擬機(jī):
Option Explicit
Dim CallWMI
Dim InventoryVMs
Dim YourVM
YourVM = "TESTVM1"
Set CallWMI = GetObject("winmgmts:\\.\root\virtualization")
Set InventoryVMs = CallWMI.ExecQuery("SELECT * FROM Msvm_ComputerSystem
WHERE ElementName='" & YourVM & "'")
InventoryVMs.ItemIndex(0).RequestStateChange(2)
如PowerShell,腳本里唯一需要更改的地方是“YourVM”的在線值,VBScript。保存這個(gè)文本為本地文件系統(tǒng)上的.VBS文件,允許其在本地執(zhí)行。
現(xiàn)在我們?cè)谶h(yuǎn)程Hyper-V服務(wù)器上執(zhí)行關(guān)閉命令。先前的例子是為了在擁有Hyper-V和特定虛擬機(jī)的服務(wù)器上本地運(yùn)行腳本。有多臺(tái)Hyper-V服務(wù)器并且不執(zhí)行SCVMM對(duì)環(huán)境有利。這個(gè)腳本將在Server55上遠(yuǎn)程關(guān)閉(強(qiáng)制關(guān)閉)TESTVM1虛擬機(jī)。
Option Explicit
Dim CallWMI
Dim InventoryVMs
Dim YourVM
YourVM = "TESTVM1"
Set CallWMI = GetObject("winmgmts:\\SERVER55\root\virtualization")
Set InventoryVMs = CallWMI.ExecQuery("SELECT * FROM Msvm_ComputerSystem
WHERE ElementName='" & YourVM & "'")
InventoryVMs.ItemIndex(0).RequestStateChange(3)
注意,第六行輸入了Server55的名字,這是宿主TESTVM1的Hyper-V服務(wù)器。它能從系統(tǒng)遠(yuǎn)程運(yùn)行,注意WMI命名空間,如另一臺(tái)Windows Server 2008服務(wù)器。強(qiáng)制關(guān)閉如上面例子中最后一行的代號(hào)3發(fā)送。其他流行的虛擬機(jī)代號(hào)包括以下這些:
Reboot (10):這個(gè)代號(hào)在虛擬機(jī)上執(zhí)行硬啟動(dòng)。
Pause (32768):這個(gè)代號(hào)暫停虛擬機(jī)。
測(cè)試Hyper-V腳本
Hyper-V腳本應(yīng)該在測(cè)試環(huán)境里執(zhí)行。如廣告所說(shuō),PowerShell是一個(gè)非常有力的shell環(huán)境。寫入在VBScript里的腳本有同樣的風(fēng)險(xiǎn),因?yàn)樗鼈冏隽四愀嬷氖?,就如它們也將做你告知的事。但發(fā)送命令時(shí),沒(méi)有撤銷按鈕或者退回命令。簡(jiǎn)單來(lái)說(shuō),這個(gè)命令假定知道你要做什么。同樣,權(quán)限也是遠(yuǎn)程Hyper-V服務(wù)器需要關(guān)注的問(wèn)題。更多信息可以參照技巧:Hyper-V的權(quán)限模式。
總結(jié)
要自動(dòng)化Hyper-V環(huán)境要素,管理員有大量的選擇。有了經(jīng)驗(yàn)和耐心,你就能讓Hyper-V與你所創(chuàng)建的PowerShell或VBScripts協(xié)調(diào)工作。
【編輯推薦】
- CIO五項(xiàng)注意 不要給虛擬化留下安全漏洞!
- SVM5:存儲(chǔ)虛擬化的新強(qiáng)者
- 大幅節(jié)約成本 桌面虛擬化必將普及
當(dāng)前題目:如何在Hyper-V里使用PowerShell或VBScript腳本?
標(biāo)題網(wǎng)址:http://m.fisionsoft.com.cn/article/cosdidg.html


咨詢
建站咨詢
