Ping und anschließende Mail mit Powershell
Moin,
folgendes möchte ich erreichen:
- Automatisiertes Ping mit Mail an Admin, wenn Ping nicht erfolgreich
- Wenn der Test fehlschlägt, Ping nach 10 Minuten wiederholen und im Erfolgsfall eine Mail an Admin
Dafür habe ich dieses Powershell-Skript gestrickt:
Die erste Mail bekomme ich noch, wenn ich einen Fehler simuliere, jedoch bleibt die zweite Mail aus, wenn der Fehler beendet ist.
Ich sehe den Fehler nicht?
Gruß
folgendes möchte ich erreichen:
- Automatisiertes Ping mit Mail an Admin, wenn Ping nicht erfolgreich
- Wenn der Test fehlschlägt, Ping nach 10 Minuten wiederholen und im Erfolgsfall eine Mail an Admin
Dafür habe ich dieses Powershell-Skript gestrickt:
$testConnection = Test-Connection IP-Adresse -Quiet
$EmailFrom = "no-server@admin.de"
$SubjectFAIL = "Server nicht erreichbar!"
$SubjectOK = "Server wieder erreichbar!"
$BodyFAIL = "4 Pingversuche sind fehlgeschlagen, bitte Server pruefen!"
$BodyOK = "Server antwortet wieder auf Pingversuche!"
$SMTPServer = "mail.admin.de"
$EmailTo = "admin@admin.de"
If ($testConnection -eq $false){
Send-MailMessage -Body $BodyFAIL -to $EmailTo -from $EmailFrom -Subject $SubjectFAIL -SmtpServer $SMTPServer
}
Start-Sleep -s 600
If ($testConnection -eq $true){
Send-MailMessage -Body $BodyOK -to $EmailTo -from $EmailFrom -Subject $SubjectOK -SmtpServer $SMTPServer
}
Die erste Mail bekomme ich noch, wenn ich einen Fehler simuliere, jedoch bleibt die zweite Mail aus, wenn der Fehler beendet ist.
Ich sehe den Fehler nicht?
Gruß
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 621894
Url: https://administrator.de/contentid/621894
Ausgedruckt am: 22.11.2024 um 08:11 Uhr
5 Kommentare
Neuester Kommentar
Der zweite Ansatz ist richtig - nur hast du die Ausgabe von test-connection nicht in die Variable geschrieben.
So sollte es gehen:
So sollte es gehen:
$testConnection = Test-Connection IP-Adresse -Quiet
$EmailFrom = "no-server@admin.de"
$SubjectFAIL = "Server nicht erreichbar!"
$SubjectOK = "Server wieder erreichbar!"
$BodyFAIL = "4 Pingversuche sind fehlgeschlagen, bitte Server pruefen!"
$BodyOK = "Server antwortet wieder auf Pingversuche!"
$SMTPServer = "mail.admin.de"
$EmailTo = "admin@admin.de"
If ($testConnection -eq $false){
Send-MailMessage -Body $BodyFAIL -to $EmailTo -from $EmailFrom -Subject $SubjectFAIL -SmtpServer $SMTPServer
}
Start-Sleep -s 600
$testConnection = Test-Connection IP-Adresse -Quiet
If ($testConnection -eq $true){
Send-MailMessage -Body $BodyOK -to $EmailTo -from $EmailFrom -Subject $SubjectOK -SmtpServer $SMTPServer
}