【发布时间】:2017-05-30 20:39:20
【问题描述】:
我有以下“ping 脚本”,我想在其中使用数组和 Export-Csv cmdlet 将输出写入 CSV 文件而不是 txt 文件。
我首先尝试通过管道将Write-Output 传递给Export-Csv,直到读到您无法将字符串传递给Export-Csv 并且必须先将它们转换为对象。
我不太明白如何在 PowerShell 中使用数组。
Param(
[Parameter(Mandatory=$true, position=0)][string]$csvfile
)
$ColumnHeader = "Hostname"
Write-Host "Reading file" $csvfile
$ipaddresses = Import-Csv $csvfile | Select-Object $ColumnHeader
Write-Host "Started Pinging.."
foreach ($ip in $ipaddresses) {
if (Test-Connection $ip.("Hostname") -Count 1 -Quiet) {
Write-Output $ip.("Hostname") "Ping succeeded." |
Out-File -FilePath "C:\temp\pingresults.txt" -Append
} else {
Write-Output $ip.("Hostname") "Ping failed." |
Out-File -FilePath "C:\temp\pingresults.txt" -Append
}
}
Write-Host "Pinging Completed."
【问题讨论】:
标签: powershell