【发布时间】:2021-05-16 11:34:39
【问题描述】:
我正在尝试将这个简单脚本的结果导出到 .csv 文件。我得到了结果,但它要么返回有关结果数据的信息,要么返回一长串混乱的数据,我确定如何正确解析。
<#
Will ping all devices in list and display results as a simple UP or DOWN, color coded Red or Green.
#>
$Names = Get-Content -Path "C:\TestFolder\GetNames.txt"
$Output = @()
foreach ($name in $names)
{
if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue)
{
$Result1 += "$name, up"
Write-Host "$name, up" -ForegroundColor Green
}
else
{
$Result2 += "$name, down"
Write-Host "$name, down" -ForegroundColor Red
}
}
$Output += $Result1, $Result2
$Output = $Output | Select-Object
$Output | Export-Csv -Path 'C:\psCSVFiles\mycsv.csv' -NoTypeInformation
返回结果: 长度 49768 25081
我在这里做错了什么?谢谢
【问题讨论】:
-
欢迎来到 SO。如果您想知道 CSV 输出,$Output 是一个包含 2 个字符串($Result1 和 $Result2)的数组。导出为 CSV 时,它会显示 $Output 中包含的每个字符串的长度。不是很有用,我同意。有关更强大的 CSV 输出,请参阅下面的 Mattias 答案。干杯!
标签: powershell csv export