2016-04-21 39 views
0

剛接觸腳本編程的朋友可以幫助我編寫一個腳本,它將連接到VMM並獲取如下所示的詳細信息。System Center VMM的PowerShell腳本

Name     : ABC Machine 
CPUCount    : 8 
Memory    : 8192 
DynamicMemoryEnabled : False 

VHDType  : DynamicallyExpanding 
MaximumSize : 214748364800 
Size   : 4194304 
Location  : C:\ClusterStorage\Volume3\CRB\CRB Test Machine_disk_1.vhdx 
Classification : Silver 

VHDType  : DynamicallyExpanding 
MaximumSize : 4748364800 
Size   : 41304 
Location  : C:\ClusterStorage\Volume2\CRB\CRB Test Machine_disk_2.vhdx 
Classification : Silver 

我已經能夠獲得單獨的命令來獲得信息,但是我現在無法作出一個腳本,會做所有的虛擬機和磁盤大小轉換爲GB

我的工作命令

Get-SCVirtualMachine -Name "ABC Machine" | select Name, CPUCount, Memory, DynamicMemoryEnabled | fl 
$DiskINfo = Get-SCVirtualDiskDrive -VMMServer "abc.abcgroupcloud.com" -VM "ABC Machine" 
$DiskINfo.VirtualHardDisk | select VHDType, MaximumSize, Size, Location, Classification 

回答

0

1-創建的所有虛擬機名稱的數組(或從get-content一個文件中讀取)
2-使用foreach循環excecute你腳本在所有這些VM
3-使用calulated property以Gb顯示尺寸

[email protected]("ABC machine","XYZ machine") 

$computers | foreach-object { 
    Get-SCVirtualMachine -Name $_ | select Name, CPUCount, Memory, DynamicMemoryEnabled | fl 
    $DiskINfo = Get-SCVirtualDiskDrive -VMMServer "abc.abcgroupcloud.com" -VM $_ 
    $DiskINfo.VirtualHardDisk | select VHDType, MaximumSize, @{Name="Size in Gb";Expression={$($_.size)Mb/1Gb}}, Location, Classification 
}