利用 Test-Connection 检测网络波动
众所周知,网络波动造成服务不可用的场景时有发生,下面介绍如何利用 powershell 的 Test-Connection 来检测目标服务器是否有网络波动
- 第1步,将如下内容保存为
d:\tools\ping.ps1,示例检测的目标服务器为180.163.200.101
$addr = "180.163.200.101"
while (1) {
$logfile = "d:\tools\ping_" +(Get-Date).ToString("yyyyMMdd")+ ".log"
$result = Test-Connection -ComputerName $addr -Count 1 -Quiet;
If ($result -eq "True") {(Get-Date).ToString() +" ping "+ $addr +" Success" | Out-File -FilePath $logfile -Append -Force;}
Else {(Get-Date).ToString() +" ping "+ $addr +" Failed" | Out-File -FilePath $logfile -Append -Force;}
sleep 1
}
- 第2步,以管理员身份运行 Powershell,然后输入
d:\tools\ping.ps1,每1秒 ping 一次目标服务器ip - 第3步,执行
type d:\tools\ping_20251120.log查看监控日志,如果ping成功则记录 Success,如果ping失败则记录 Failed
