在 PowerShell 中 Ping 主機名列表和輸出結果到 CSV
Rohan Timalsina
2022年5月16日
Ping 裝置或主機名是 PowerShell 中可用的基本功能。你可以使用 Test-Connection
和 Test-NetConnection
cmdlet 傳送回顯請求並測試 ping 連線。
這對網路管理員非常有用。本教程將教你 ping 主機名列表並將結果輸出到 PowerShell 中的 CSV。
使用 Test-Connection
Ping 主機名列表並將結果輸出到 PowerShell 中的 CSV
Test-Connection
cmdlet 向一臺或多臺遠端計算機傳送 Internet 控制訊息協議 (ICMP)
回顯請求資料包或 ping,並返回回顯響應回覆。你可以輕鬆確定是否可以通過 IP 網路訪問特定計算機。
在這裡,我們在檔案 test.txt
中有一個主機名列表。
Get-Content test.txt
輸出:
www.google.com
www.delftstack.com
以下指令碼 ping 檔案 test.txt
中的主機名列表並將結果輸出到 result.csv
檔案。
$testOutput= @()
$testnames = Get-Content "test.txt"
foreach ($name in $testnames){
if (Test-Connection -ComputerName $name -Count 1 -ErrorAction SilentlyContinue){
$testOutput+= "$name,Up"
Write-Host "$Name,Up"
}
else{
$testOutput+= "$name,Down"
Write-Host "$Name,Down"
}
}
$testOutput | Out-File "result.csv"
在上面的 PowerShell 指令碼中,Get-Content
cmdlet 用於獲取 test.txt
檔案中的主機名列表,並使用 ForEach
迴圈遍歷每個主機名。
Test-Connection
cmdlet ping 列表中的每個主機名。如果 ping 狀態為 true
,則主機名儲存在 $testOutput
變數中作為 Up
;它將主機名作為 Down
儲存在 $testOutput
變數中。
$testOutput
變數通過管道傳送到 Out-File
cmdlet,後者將輸出傳送到檔案 result.csv
。檔案中的內容與終端中顯示的內容相同。
輸出:
www.google.com,Up
www.delftstack.com,Down
我們希望本文能幫助你瞭解如何 ping 主機名列表並將結果輸出到 .csv
檔案。
作者: Rohan Timalsina