我是脚本编程的新手,请帮助我写一个脚本,将连接到VMM,并获得如下细节。
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发布于 2016-04-21 20:25:13
1-创建包含所有虚拟机名称的阵列(或使用get-content从文件中读取)
2-使用foreach循环在所有这些虚拟机上执行脚本
3-使用calulated property以Gb为单位显示大小
$computers=@("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
}发布于 2019-01-25 16:41:48
这是个老问题,只是想补充一些信息。在输入正确的主机组名称后,这将在VMM中获取主机组中的所有虚拟机。
$VMs将是数组,它将包含您要查找的所有详细信息。
$hg = Get-SCVMHostGroup -Name "My Hostgroup Name"
$hosts = Get-SCVMHost -VMHostGroup $hg
$VMs = $null
ForEach ($h in $hosts)
{
$VMs += Get-SCVirtualMachine -VMHost $h
}https://stackoverflow.com/questions/36768564
复制相似问题