【发布时间】:2021-04-15 19:06:07
【问题描述】:
我有 2 个 PScustomObject,我想将它们组合成一个 csv,如下所示:
$Output1 = [PSCustomObject]@{
Timestamp1 = (Get-Date)
InstanceName1 = $ProcessName1
Count1 = $Processes1.Count
Memory1 = $MEMLoad1
CPU1 = $CPULoad1
}
$Output2 = [PSCustomObject]@{
Timestamp2 = (Get-Date)
InstanceName2 = $ProcessName2
Count2 = $Processes2.Count
Memory2 = $MEMLoad2
CPU2 = $CPULoad2
}
CSV 应具有标题 TimeStamp1、InstanceName1......TimeStamp2、InstanceName2...... 此代码循环运行,每次传递都导出数据。
有没有办法做到这一点?如果我要在 100 个 PsCustomObjects 上导出数据,还有一种方法可以动态地执行此操作以避免复制大量代码,可能会查看对象的输入数据并放入一个对象并将其传递给 csv 同时动态更改标题?
我使用以下行来导出。我试过 -InputObject $Output1, $Output2 但这会产生乱码。
Export-Csv -InputObject $Output1 -path $Path1 -NoTypeInformation -Append -Force
到目前为止,我唯一的解决方案是导出多个 CSV,但这会很快变得庞大。
非常感谢任何帮助!
【问题讨论】:
-
是否有多个
$Output1和$Output2对象或只有一个?
标签: powershell csv pscustomobject