$a = "$name"
$a = $a +""
 
foreach($cluster in Get-Cluster){
    foreach($rp in Get-ResourcePool -Location $cluster){
        $report = foreach($vm in (Get-VM -Location $rp)){
            Get-HardDisk -VM $vm |
            Select @{N='Cluster';E={$cluster.Name}},
                @{N='ResourcePool';E={$rp.Name}},
                @{N='VM';E={$vm.Name}},
                @{N='HD';E={$_.Name}},
                @{N='Datastore';E={($_.Filename.Split(']')[0]).TrimStart('[')}},
                @{N='Filename';E={($_.Filename.Split(' ')[1]).Split('/')[0]}},
                @{N='VMDK Path';E={$_.Filename}},
                @{N='Format';E={$_.StorageFormat}},
                @{N='Type';E={$_.DiskType}},
                @{N='CapacityGB';E={$_.CapacityGB}}
        }
        $report | ConvertTo-Html -Head $a | Out-File -FilePath "C:\temp\$($cluster.Name)-$($rp.Name)-report.html"
    }
}

##保存为脚本执行后,会得到如下类似报表文件。

##需要注意的是,C盘下必须先创建好temp文件夹,否则执行脚本会报错。

##附件中有上传好的脚本文件,可以下载测试。