powershell export-csv每行总和列

时间:2018-07-04 10:53:51

标签: powershell azure csv export-csv

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

$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数据磁盘大小”相加?我使用-join参数只是因为数据未正确导出,因为每个虚拟机有多个数据磁盘。

1 个答案:

答案 0 :(得分:4)

如果您有数字数组,并且想要将它们求和,请使用:

($NumArray | Measure -Sum).Sum

在您的情况下为:

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

MeasureMeasure-Object的别名,如果您正在寻找帮助页面或其他任何内容,它也可以执行平均值,最小值/最大值等。