此代码的:Powershell的导出到CSV阵列提供阵列属性
$concerningMachines = @()
foreach($aMachine in $machineRecords.GetEnumerator())
{
if($aMachine.Value.ReviewScore -gt $averageAboveAverage)
{
$machine = New-Object -TypeName PSObject
$machine | Add-Member -MemberType NoteProperty -Name MachineName -Value $aMachine.Key
$machine | Add-Member -MemberType NoteProperty -Name ManagedBy -Value $aMachine.Value.ManagedBy
$machine | Add-Member -MemberType NoteProperty -Name LastLogin -Value $aMachine.Value.LastLogin
$machine | Add-Member -MemberType NoteProperty -Name ReviewScore -Value ($aMachine.Value.ReviewScore/$averageAboveAverage * 100)
$concerningMachines += $machine
}
}
Export-Csv -InputObject $concerningMachines -Path C:\DG\ConcerningMachines.csv -NoTypeInformation
可生产此.csv文件:
“计数”, “长度”, “LongLength”,“等级”, “SyncRoot上”, “IsReadOnly”, “IsFixedSize”, “IsSynchronized” “43”, “43”, “43”, “1”, “System.Object的[]”, “假”, “真”, “False”
...这是数组的属性,而不是th阵列的成员。谷歌搜索我找到的唯一的建议似乎要么实现一个完整忽略出口-CSV的解决方案,是处理字符串(其中,当字符的集合,该解决方案不适用)或似乎确切地做什么我已经在做,但生成一个有效的CSV文件(如果需要,我可以找到一些链接,但它们是论坛对话,而不是明确的指南)。
你如何正确地导出PSObjects阵列成CSV文件,并避免出现上述意外的输出?
我不能投票更多。答案总是像顶尖一样。你怎么敢质疑文档:) – Matt