我正在尝试获取包含集群中所有虚拟机的预置磁盘大小的 html 报告。我正在尝试列出集群内的所有虚拟机:
$VMs = get-ClusterGroup | ? {$_.GroupType -eq "VirtualMachine" } | Get-VM
这就像一个魅力。但是,当我尝试循环时:
foreach ($VM in $VMs)
{
Get-VM -VMName $VM.Name | Select-Object VMId | Get-VHD
}
当我运行它时,每个不在我当前集群节点上的虚拟机都会出错。因此,每个节点我都运行以下命令:
Get-VM -VMName * | Select-Object VMId | Get-VHD | ConvertTo-HTML -Proprerty path,computername,vhdtype,@{label='Size(GB)');expression={$_.filesize/1gb -as [int]}} > report.html
这也很有效。但这需要登录到集群中的每个 Hyper-V 主机。如何让集群中的所有虚拟机从一个节点以 HTML 格式输出?