Hyper-V 3.0中的PowerShell v3:命令行用戶的新樂趣
作者:Mike Nelson
隨著Hyper-V 3.0和Windows Server 8即將發(fā)布,微軟進一步明確了PowerShell v3將成為其服務(wù)器平臺底層管理標準。最新的PowerShell v3包含了大量全新的cmdlets,實現(xiàn)服務(wù)器和Windows 8桌面的管理和自動化,其中也包括有超過1000條cmdlets的Hyper-V。
隨著Hyper-V 3.0和Windows Server 8即將發(fā)布,微軟進一步明確了PowerShell v3將成為其服務(wù)器平臺底層管理標準。最新的PowerShell v3包含了大量全新的cmdlets,實現(xiàn)服務(wù)器和Windows 8桌面的管理和自動化,其中也包括有超過1000條cmdlets的Hyper-V。
在過去幾年中,微軟增加了PowerShell腳本語言的戲碼,通過它搭建很多產(chǎn)品的管理體系,最為著名的就是Exchange 2010。而即將出現(xiàn)的PowerShell v3將作為Hyper-V管理任務(wù)和命令的基礎(chǔ)組件。
據(jù)微軟內(nèi)部人員透露,最終所有的微軟圖形界面管理工具都會把PowerShell作為底層執(zhí)行命令。例如,您將可以通過底層執(zhí)行PowerShell cmdlets的Systems Center系列管理工具,管理Windows Server role,如Hyper-V。
在不久的將來,您將完全使用PowerShell v3的命令行完成Hyper-V的安裝和配置工作,不再需要GUI。
Hyper-V 3.0的PowerShell v3
首先從MSDN或TechNet下載Windows Server 8測試版代碼。然后,在您選擇的hypervisor上以虛擬機的方式進行安裝。
我的Hyper-V 3.0測試環(huán)境
我廣泛使用VMware Workstation 和Fusion,在上面安裝測試代碼很簡單。最新的VMware Workstation 8甚至為Windows Server 8預裝了機器類型,以測試列表的方式列出。我還可以下載到Windows Server 8 虛擬磁盤——一種定制的.vhd鏡像。然后把它順利加載到了現(xiàn)有的Hyper-V服務(wù)器中。
Windows Server 8安裝完成后,通過下面的PowerShell命令啟動Hyper-V角色的安裝:
Add-WindowsFeature Hyper-V –Restart
(雖然命令中采用了“feature”,但實際上是個Role)
然后,加載Hyper-V PowerShell模塊:
Import-Module Hyper-V
在Hyper-V 3.0中運行PowerShell v3 cmdlets
現(xiàn)在好戲開演。獲取所有可以管理Hyper-V的cmdlets列表:
Get-Command –Module Hyper-V –Verb
向PowerShell加載了新模塊后,我喜歡使用如下命令列出某個特定對象的所有相關(guān)屬性:
Get-VM | Get-Member –MemberType Property
非常有趣的顯示,對吧?現(xiàn)在您可以看到所有的屬性,新的和舊的——諸如虛擬磁盤、內(nèi)存分配、處理器計數(shù)等等,現(xiàn)在您可以通過各種Powershell cmdlets進行查詢。
下面是我找到的一些有趣的新命令,請自行探索更多命令:
Enable-VMMigration #enable migrations
該cmdlets啟用Hyper-V主機之間虛擬機的遷移功能
Add-VMMigrationNetwork #add subnets to the VM migration settings
通過執(zhí)行該cmdlets,可以向Hyper-V遷移網(wǎng)絡(luò)中添加子網(wǎng)。這樣可以使支持遷移功能的宿主機設(shè)置更為靈活。
New-VMReplicationAuthorizationEntry #add authorization entry for a VM
該cmdlets創(chuàng)建了新的認證入口,包含新的Hyper-V宿主機(或被允許的主服務(wù)器),包括在Hyper-V集群中對應的副存儲。
PowerShell v3的缺點
當您在PowerShell中獲得一組新的Hyper-V cmdlets同時,也要對其缺點有所了解。新的Hyper-V 3.0 cmdlets不能管理老版本的Hyper-V。這是一個非常嚴重的問題,意味著管理員根據(jù)Hyper-V的不同必須采用不同的腳本去管理,直至完成所有宿主機的升級。
在Hyper-V 3.0和老版本之間存在不兼容很難理解,也帶來不便。但是,大家知道這在軟件廠商并不鮮見。對使用老版本Hyper-V的管理員,您需要從CodePlex下載PowerShell Library for Hyper-V。
【編輯推薦】
責任編輯:趙寧寧