digiunso

Exchange Überwachen mit powershell

Hallo,

ich habe folgendes Anliegen: Von einem Kunden stürzen die Exchangedienste ab. Um besser nach Ursachen zu forschen soll eine eMail verschickt werden sobald einer der Dienste abstürzt in der drin steht welcher Dienst genau weg geflogen ist. Hierzu hab ich gesehen das man in Dienste ein Programm/Script eintragen kann falls der Dienst mit Fehlern abstürzt.
Dachte ich mir schön dann bau ich ein Script mit Powershell was mir das Mail sendet. Siehe unten hab ich das auch ohne Probleme hinbekommen. Nun hab ich das Script und könnte die Mail verschicken allerdings ist mir zu spät aufgefallen das bei den Exchangediensten diese Funktion grau hinterlegt ist... Gibt es eine Möglichkeit trotzdem was einzutragen oder anders abzufragen ob der Dienst abgestürzt ist und dann mir über das Script eine eMail zu senden? Hab leider noch nicht so die Erfahrung mit powershell und bin froh das dieses zusammengesetzte Konstrukt funktioniert hat.

Ich hoffe ihr könnt mir helfen.

param(
[string]$betreff,
[string]$text
)


"meinpasswort" | ConvertTo-SecureString -AsPlainText -Force | ConvertFrom-SecureString | Out-File "C:\EmailPassword.txt"  
$User = "test123@mail.de" #Benutzername eMailaccount  
$File = "C:\EmailPassword.txt" #Dort muss das Passwort verschlüsselt drin stehen  
$cred=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User, (Get-Content $File | ConvertTo-SecureString)
$EmailTo = "webmaster@mail.de" #Da geht die eMail hin  
$EmailFrom = "test123@mail.de" #Von der eMail kommt die eMail. Normalerweise gleich wie Benutzer.  
$Subject = $betreff 
$Body = $text
$SMTPServer = "send.mail.de"   
$SMTPMessage = New-Object System.Net.Mail.MailMessage($EmailFrom,$EmailTo,$Subject,$Body)
$SMTPClient = New-Object Net.Mail.SmtpClient($SmtpServer, 587) 
$SMTPClient.EnableSsl = $true 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential($cred.UserName, $cred.Password); 
$SMTPClient.Send($SMTPMessage)
echo "Email mit dem Betreff: ´$betreff´ und dem Text ´$text` wurde an $Emailto gesendet."  
echo "$(Get-Date)" "Email mit dem Betreff: ´$betreff´ und dem Text ´$text` wurde an $Emailto gesendet.">>log.txt  
<#
Sytax:
.\2_mit_parameter.ps1 -betreff "Text im Betreff" -text "Text in der eMail"  

Verknüpfung:
powershell.exe -Command "& 'C:\t\2_mit_parameter.ps1'  -betreff 'Betrefftext' -text 'Text in der eMail'"  
#>
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 324648

Url: https://administrator.de/forum/exchange-ueberwachen-mit-powershell-324648.html

Ausgedruckt am: 05.05.2025 um 10:05 Uhr

Pjordorf
Pjordorf 23.12.2016 um 14:11:31 Uhr
Goto Top
Hallo,

Zitat von @digiunso:
eine eMail verschickt werden
Und das während der Exchange sich gerade eine Auszeit nimmt?

allerdings ist mir zu spät aufgefallen das bei den Exchangediensten diese Funktion grau hinterlegt ist...
Du meinst sicherlich deine Schrift hir mit Grau? Was soll Grau sein? Die Haare? Mach mal ein Bild.

Gruß,
Peter
digiunso
digiunso 23.12.2016 um 14:18:52 Uhr
Goto Top
Deshalb verschickt das Script das ja über einen externen smtp Server. Soweit hab ich schon gedacht ^^
Siehe Bild sieht man das man da nichts eintragen kann an die Stelle an der das hin müsste.
screenshotexchange
29431
29431 23.12.2016 um 15:07:51 Uhr
Goto Top
Nimm doch den PRTG https://www.de.paessler.com/

Der hat 100 kostenlose Sensoren und kann entsprechende Mails versenden.
Pjordorf
Lösung Pjordorf 23.12.2016 um 15:19:57 Uhr
Goto Top
Hallo,

Zitat von @digiunso:
Siehe Bild sieht man das man da nichts eintragen kann an die Stelle an der das hin müsste.
Doch, selbstverständlich kannst du dort etwas eintragen face-smile. Dazu solltest du dir die Optionen bei Erster Fehler und Zweiter und Dritter Fehler mal genauer anschauen. Da wird dir dann geholfen. Da gibt es mehr als nur "Dienst neu starten", allerdings wirst du dich dann selbst darum kümmern müssen das dein gewünschter Dienst zum Leben erweckt wird.

Gruß,
Peter
131381
Lösung 131381 23.12.2016 um 15:24:53 Uhr
Goto Top
digiunso
digiunso 25.12.2016 um 19:32:35 Uhr
Goto Top
Zitat von @Pjordorf:

Hallo,

Zitat von @digiunso:
Siehe Bild sieht man das man da nichts eintragen kann an die Stelle an der das hin müsste.
Doch, selbstverständlich kannst du dort etwas eintragen face-smile. Dazu solltest du dir die Optionen bei Erster Fehler und Zweiter und Dritter Fehler mal genauer anschauen. Da wird dir dann geholfen. Da gibt es mehr als nur "Dienst neu starten", allerdings wirst du dich dann selbst darum kümmern müssen das dein gewünschter Dienst zum Leben erweckt wird.

Gruß,
Peter
Danke das hab ich tatsächlich ein wenig übersehen ich dachte schon dafür brauch ich noch irgend ein Spezielles Recht oder die Funktion wurde entfernt/ist noch nicht verfügbar ^^
Ich denke den Dienst wieder zu starten lässt sich auch mit in das Script einbauen face-smile