每行的 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
Measure
是 Measure-Object
的别名,如果您要查找帮助页面或其他任何内容,它也可以执行平均、Min/Max 等
我写了这个脚本来输出一个 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
Measure
是 Measure-Object
的别名,如果您要查找帮助页面或其他任何内容,它也可以执行平均、Min/Max 等