每行的 powershell export-csv 总和列

powershell export-csv sum column per each row

我写了这个脚本来输出一个 table 格式的文件:

$VMs = Get-AzureRmVM
$vmOutput = $VMs | ForEach-Object { 
    [PSCustomObject]@{
        "VM Name" = $_.Name
        "VM Type" = $_.StorageProfile.osDisk.osType
        "VM Profile" = $_.HardwareProfile.VmSize
        "VM OS Disk Size" = $_.StorageProfile.OsDisk.DiskSizeGB
        "VM Data Disk Size" = ($_.StorageProfile.DataDisks.DiskSizeGB) -join ','
    }
}

$vmOutput  | export-csv C:\***\data.csv -delimiter ";" -force -notypeinformation 

是否可以对每个对象求和 "VM Data Disk Size"?我使用 -join 参数只是因为数据没有正确导出,因为每个 vm 有多个数据磁盘。

如果您有一个数字数组并且想对它们求和,请使用:

($NumArray | Measure -Sum).Sum

你的情况是:

"VM Data Disk Size" = ($_.StorageProfile.DataDisks.DiskSizeGB | Measure -Sum).Sum

MeasureMeasure-Object 的别名,如果您要查找帮助页面或其他任何内容,它也可以执行平均、Min/Max 等