[英]Powershell script for pinging servers
我想為 ping 服務器編寫一個 powershell 腳本。 該腳本將調用包含要 ping 的服務器列表的 .ini 文件。
你能告訴我怎么做嗎?
如果它只是服務器 ip 地址的列表,那么以下將起作用。
Get-Content "c:\testvalues.ini" | foreach { Test-Connection $_ }
這在 powershell 5 中運行良好,可以並行 ping:
$list = get-content list.ini
test-connection $list -AsJob -count 1 | Receive-Job -Wait -AutoRemoveJob
如果計算機出現故障,則 header“時間(毫秒)”下的列將為空,或者 ResponseTime 屬性將為 $null。
我准備了一個小的 PowerShell 腳本,這將有助於通過 tcp ping ping windows/Linux 主機。
在這個腳本中,我使用 windows 桌面的 TCP 端口 22 ping Linux 主機。
您可以根據自己的方便在腳本本身中修改端口號。
例如:
Linux = 端口 22 (SSH TCP)
.\paping.exe $line -p 22 -c 1
Windows = 端口 3389 (RDP TCP)
.\paping.exe $line -p 3389 -c 1
步驟 1:從下面的 URL 下載“ paping ”網絡實用程序。
第 2 步:將下載的 zip 文件提取到您的桌面。
第 3 步:創建一個文本文件名為“ips.txt”,並存儲到桌面的“paping_1.5.5_x86_windows”文件夾下。
第 4 步:復制以下腳本並保存到 PowerShell 名稱為“tcpping.ps1”
Clear-Host
Clear-Content .\success.log -Force -ErrorAction SilentlyContinue
Clear-Content .\failure.log -Force -ErrorAction SilentlyContinue
foreach($line in Get-Content .\ips.txt)
{
.\paping.exe $line -p 22 -c 1
if ( $? -eq $True )
{
$currentTime = Get-Date -Format “MM/dd/yyyy HH:mm K”
Write-Host $currentTime Node $line is up
"$(Get-Date -DisplayHint datetime) Node $line is up" | Tee-Object -FilePath "success.log" -Append
}
else
{
$currentTime = Get-Date -Format “MM/dd/yyyy HH:mm K”
Write-Host $currentTime Node $line is down
"$(Get-Date -DisplayHint datetime) Node $line is down" | Tee-Object -FilePath "failure.log" -Append
}
}
第 5 步:右鍵單擊 PowerShell 腳本並使用 PowerShell 運行。
第六步:可以在同一個文件夾的日志文件中查看tcp ping成功和失敗結果。
第 7 步:下面是示例 ping 測試結果腳本 output 供您參考
07/18/2021 23:27:45 Node 192.168.0.10 is up
07/18/2021 23:27:47 Node 192.168.0.11 is down
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.