脚本使用背景:一台业务主机访问对端IP出现随机性网络中断,故用此脚本记录下网络中断时的tracert记录
$ipToTrace = "ip_address" # trace的IP
$outputFile = "output.txt" #输出的文件
while($true) {
$currentTime = Get-Date -Format "yyyy-MM-dd HH:mm:ss" #获取当前时间
$pingResult = Test-Connection -ComputerName $ipToTrace -Count 1 -Quiet #截取一次PING结果
if(-not $pingResult) {
$errorMessage = "$currentTime - Target $ipToTrace is unreachable, performing traceroute..." #自定义日志内容
Write-Host $errorMessage #输出日志
$errorMessage | Out-File -FilePath $outputFile -Append #将日志记录在文件中
tracert -w 1 $ipToTrace | Out-File -FilePath $outputFile -Append #将tracert的结果记录在文件中
}
$pingMessage = "$currentTime - Target $ipToTrace is reachable"
Write-Host $pingMessage
Start-Sleep -Seconds 5 #休眠5秒
}