C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度-创新互联

环境:C#调PowerShell在SC
VMM中创建虚拟机时,实时显示创建进度

Win server 2008 R2 + Hyper-v + SCVMM2008 R2

目前成都创新互联已为上千的企业提供了网站建设、域名、虚拟空间、网站改版维护、企业网站设计、乌尔禾网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。

目的:

C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度

在SCVMM2008R2中手动创建一个vm(虚拟机)时,作业界面中会显示很详细的创建进度,包括有哪些子任务,每个任务的完成度、状态等信息。SCVMM的界面操作是基于Powershell的,所以肯定有ps脚本可以实现上述目的。

microsoft提供的创建虚拟机的ps脚本中,提到如下内容(为显示PS脚本中部分内容被回车)

$NewVMTasks= [System.Array]::CreateInstance("Microsoft.SystemCenter.VirtualMachineManager.Task",$NumVMs)
$NewVMs= [System.Array]::CreateInstance("Microsoft.SystemCenter.VirtualMachineManager.VM",$NumVMs)
$i=0
# Loop that creates each VM asynchronously.
while($NumVMs-gt0)
{
# Generate a unique VM name.
$VMRnd=$Random.next()
$NewVMName=$VMName+$VMRnd
# Get the ratings for each host and sort the hosts by ratings.
$Ratings=@(Get-VMHostRating-Template$Template-VMHost$VMHosts-DiskSpaceGB$DiskSizeGB -VMName$NewVMName| where {$_.Rating-gt0}| Sort-Object-property Rating-descending)
if ($Ratings.Count-gt0)
{
$VMHost=$Ratings[0].VMHost
$VMPath=$Ratings[0].VMHost.VMPaths[0]
# Create a new VM from the template and add an additional VHD
# to the VM.
$NewVMJobGroup= [System.Guid]::NewGuid()
$VMAdditionalVhd| Add-VirtualHardDisk-Bus0-Lun1-IDE-JobGroup$NewVMJobGroup
$NewVMs    不登高山,怎知天高;不临深溪,焉知地厚!站在坚实的土地上,做着生命中最真实的事情;像一棵挺拔的大树,认可自己的命运并敢于迎接属于这一方天空的风风雨雨。
本文题目:C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度-创新互联
网页链接:http://hbruida.cn/article/csogej.html