Такой разный пинг (PowerShell)
Разнообразные варианты ping средствами PowerShell.
Пинг с уведомлением в почту
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
While ($true) { if(Test-Connection ***.***.***.*** -ErrorAction SilentlyContinue) { Write-Host "Open"-ForegroundColor Green # } else { Write-Host "Close" -ForegroundColor Red $SmtpServer = "SMTP-SERVER" $encoding = [System.Text.Encoding]::UTF8 $dateConnectionFalse = Get-Date -DisplayHint DateTime $body = "Body Text" $Subject = "Subject Text" Send-MailMessage -From "email@email.xxx" -Subject $Subject -To "email@email.xxx" -Body $body -Encoding $encoding -Priority High -SmtpServer $SmtpServer #-UseSsl } } |
Пинг с уведомлением в Telegram
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$bot_token = "bot id token" $uri = "https://api.telegram.org/bot$bot_token/sendMessage" $message = "Message text" $id = "id user telegram" While ($true) { if(Test-Connection ***.***.***.*** -ErrorAction SilentlyContinue) { Write-Host "Open"-ForegroundColor Green # } else { Write-Host "Close" -ForegroundColor Red Invoke-WebRequest -Method Post -Uri $uri -ContentType "application/json;charset=utf-8" -Body (ConvertTo-Json -Compress -InputObject @{chat_id=$id; text=$message}) } } |
Пинг с записью в файл
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$DateConnectionFalse = Get-Date -DisplayHint DateTime $Logfile = "C:/log/log.txt" $Server = "***.***.***.***" $Body = "Message text -> " + $DateConnectionFalse + " -> " + "Server: "+$Server While ($true) { if(Test-Connection $Server -ErrorAction SilentlyContinue) #-Count 50) { Write-Host "Open"-ForegroundColor Green } else { Write-Host "Close" -ForegroundColor Red Out-File -FilePath $Logfile -InputObject $Body -Append -encoding unicode } } |
В итоге три рабочих варианта уведомления.
2 комментария
Андрей
😎
User
В последнем скрипте логичнее объявлять переменные $DateConnectionFalse и $Body внутри цикла While, иначе в логе будем получать статическую строку с временем запуска скрипта, если сервер недоступен, а не с временем, когда сервер был недоступен.
Но спасибо за инфу, то что нужно.