PingInfoView Send Email Message On Failed Ping

PingInfoView aracı için ortak özellik isteklerinden biri, ping başarısız olduğunda bir e-posta mesajı göndermektir. PingInfoView aracında e-posta mesajı gönderme seçeneği olmasa da, PowerShell betiği ve 'Ping başarısız olduğunda aşağıdaki komutu çalıştır' seçeneğinin birleşimini kullanarak bunu yapabilirsiniz.

Öncelikle, başarısız ping hakkındaki bilgileri parametre olarak kabul eden ve ardından bunu e-posta mesajı olarak gönderen bir PowerShell betiği oluşturmanız gerekir. Programcı değilseniz endişelenmeyin, işte bu işi yapacak kullanıma hazır bir betik:

  • Bir not defteri açın ve aşağıdaki betiği yapıştırın. Bu betiği kullanmadan önce, ilk 4 satırı e-posta bilgilerinizle güncellemeniz gerekir:
  • Birinci Satır - Mesajı göndermek için SMTP sunucunuzdaki kullanıcı adı.
  • İkinci Satır - Mesajı göndermek için SMTP sunucunuzdaki parola.
  • Üçüncü Satır - Başarısız ping mesajını alacak e-posta.
  • Dördüncü Satır - Mesajı göndermek için SMTP sunucunuzun adresi
$Username = "a@gmail.com";
$Password = "123parola";
$SendTo = "b@gmail.com";
$MailServer = "smtp.gmail.com";
$HostName = $args[0];
$IPAddress = $args[1];
$PingStatus = $args[2];
$FailedOn = $args[3];

$message = new-object Net.Mail.MailMessage;
$message.From = $Username;
$message.To.Add($SendTo);
$message.Subject = "Failed Ping On $HostName" ;
$message.Body = "Information about the failed ping: `r`nHost Name: $HostName`r`nIP Address: $IPAddress`r`nPing Status: $PingStatus`r`nPing Time: $FailedOn";

$smtp = new-object Net.Mail.SmtpClient($MailServer, "587");
$smtp.EnableSSL = $true;
$smtp.Credentials = New-Object System.Net.NetworkCredential($Username, $Password);
$smtp.send($message);

Link üzerinden PingInfoView aracını indirin. https://www.nirsoft.net/utils/multiple_ping_tool.html

Programı çalıştırdıktan sonra, ping veya port bilgileri giriniz. Ping again every kısmında kaç saniyede bir test edeceğini saniye olarak belirtebilirsiniz. Start butonuna basarak işlemi başlatın.

Ping hatası olduğunda mail almak için PingInfoView aracında Options seçeneklerinden Advanced Options kısmına tıklayın.

Açılan pencerede Execute the following command on failed ping (Başarısız ping durumunda aşağıdaki komutu yürüt) seçeneğini seçin ve ardından PowerShell betiğini çalıştırmak için aşağıdaki komutu yazın:

Yukarıdaki komut örneğinde, betik C:\Script\pingfailed.ps1 dizinine kaydedilir ve tabii ki sisteminize doğru betik dosya adını koymanız gerekir.

Powershell.exe -executionpolicy remotesigned -File C:\script\pingfail.ps1 "%HostName%" "%IPAddress%" "%LastPingStatus%" "%LastFailedOn%"

Her şeyi doğru yaptığınızı varsayarsak, PingInfoView'da ping başarısız olduğunda aşağıdaki gibi bir e-posta mesajı alacaksınız.

Blog'a Dön