我使用的是this code,我修改了它来删除一些我不需要的项目,我试图将输出合并到一个表中。这一步我已经得到了:将输出合并到一个表中
$SCVMs | ForEach-Object {
$VMName = Get-SCVirtualMachine $_.Name | Select -Expand Name
$ReportData = $ReportData + (Get-SCVirtualMachine $_.Name |
Get-SCVirtualHardDisk |
Select @{Label="VM Name";Expression={$VMName}},
@{Label="VHD Name";Expression={$_.Name}},
@{Label="VHD Location";Expression={$_.Location}},
@{Label="Max Disk Size (GB)";Expression={($_.MaximumSize/1GB)}},
@{Label="Disk Space Used (GB)";Expression={"{0:N2}" -f ($_.Size/1GB)}},
@{Label="Disk Space Used (%)";Expression={[math]::Round((($_.Size/1GB)/($_.MaximumSize/1GB))*100)}},
@{Label="Free Disk Space (GB)";Expression={"{0:N2}" -f (($_.MaximumSize/1GB) - ($_.Size/1GB))}} |
ConvertTo-Html -as Table -Fragment)
}
报告显示特定虚拟机的硬盘在同一个表,但它的每个VM创建一个单独的表。我想为VM中的每个硬盘驱动器生成一个单独的表,并为其分配一行。
我相信诀窍在于我如何选择对象并将它们一起管道,但我只是没有足够的经验去看到如何去做。
我不需要HTML中的报告,CSV就没问题。
它在我看来像你有它的要点。你错过了什么? – zdan