ruffy1984
Goto Top

Email versenden wenn Dienst beendet

Hallo Community

habe eine Frage an euch.

Ich möchte eine Benachrichtigung bekommen wenn sich ein bestimmter Dienst auf meinem Windows 2003 Server beendet.

Wie kann ich es am besten realisieren das ich eine E-mail bekomme wenn sich ein bestimmter Windowssienst beendet.

Es gibt die Möglichkeit in den Eigenschaften des Dienstet zu sagen, Programm ausführen ...

dort könnte man bestimmt eine *.bat ausführen wo eine E-Mail durch angabe des SMTP Servers versendet wird.

Hat das einer von euch schonmal gemacht ?

Bzw gibt es vielleicht ein tool was das für einen erledigt, in der Suche habe ich leider nicht viel dazu gefunden und ich weiss auch nicht ob das hier der richtige Bereich ist.

Vielen Dank

Content-Key: 178867

Url: https://administrator.de/contentid/178867

Printed on: April 25, 2024 at 21:04 o'clock

Member: colinardo
colinardo Jan 13, 2012 at 10:18:47 (UTC)
Goto Top
HostMonitor www.ks-soft.net das kann auch noch viel mehr überwachen.
Member: AndreasHoster
AndreasHoster Jan 13, 2012 at 10:37:23 (UTC)
Goto Top
Eine externe Überwachung wie Nagios (www.nagios.com) kann mehr und ist sicherer (aber auch mehr Aufwand zum Konfigurieren).

Wenn Du eine Mail dort verschicken willst, nimm Blat (www.blat.net)
Das ist ein Kommandozeilenprogramm zum Verschicken von Mails per SMTP.
Falls der Dienst abschmiert, ist aber nicht immer garantiert, daß Windows das Programm ausführt (meine Erfahrung).
Member: Listo
Listo Jan 13, 2012 at 10:39:36 (UTC)
Goto Top
Hallo,

und wenn es auch noch etwas Kosten darf, dann kann ich Paessler empfehlen.

Gruß
Listo
Member: Karo
Karo Jan 13, 2012 at 10:39:39 (UTC)
Goto Top
Hi,

alternativ: SYSLOG

Karo
Member: colinardo
colinardo Jan 13, 2012 at 11:22:54 (UTC)
Goto Top
Hier noch eine Pfennigfuchser-Lösung:

Nehme das folgende VBS-Script und erstelle einen Task für den Taskplaner z.b. mit einem Intervall von 5 Minuten mit dem Inhalt (cscript [PFAD ZUR VBS DATEI]:
Bitte trage den entsprechenden Dienstnamen in der Variablen SERVICENAME ein, und ergänze die Daten für deinen Mailserver. Je nach Mailserver sind Anpassungen in den Parametern von CDO nötig. Diese Config funktioniert mit unverschlüsselter BASIC Authentifizierung. Achtung der Name des Service ist der Dienstname nicht der Anzeigename.

Das Script verschickt eine Nachricht sobald der Service den Status "Stopped" hat.

strComputer = "."   
SERVICENAME = "[DEIN SERVICE NAME]"  
MAILFROM = "[DEINE MAILADRESSE]"  
MAILTO = "[EMPFÄNGERADRESSE]"  
MAILSUBJECT = "[SUBJECT]"  
MAILBODY = "[MAILBODY]"  
MAILSERVER = "[SMTPSERVER]"  
MAILSERVER_USER = "[USERNAME]"  
MAILSERVER_PASSWORD = "[PASSWORT]"  


Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")   
Set colServices = objWMIService.ExecQuery("SELECT * FROM Win32_Service WHERE Name = '" & SERVICENAME & "'")   
For Each objService in colServices 
        if objService.State = "Stopped" then  
        	sendmail MAILFROM,MAILTO,MAILSUBJECT,MAILBODY
        End if
Next


Sub sendmail(FROMMAIL,TOMAIL,SUBJECT,BODY)
	Const cdoSendUsingPort = 2 'Send the message using the network (SMTP over the network).  
	Const cdoAnonymous = 0 'Do not authenticate  
	Const cdoBasic = 1 'basic (clear-text) authentication  
	Const cdoNTLM = 2 'NTLM  
	
	Dim objMessage
	Set objMessage = CreateObject("CDO.Message")  
	objMessage.Subject = SUBJECT
	objMessage.From = FROMMAIL
	objMessage.To = TOMAIL
	objMessage.TextBody = BODY
	
	
	'==This section provides the configuration information for the remote SMTP server.  
	
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2  
	
	'Name or IP of Remote SMTP Server  
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/smtpserver") = MAILSERVER  
	
	'Type of authentication, NONE, Basic (Base64 encoded), NTLM  
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic  
	
	'Your UserID on the SMTP server  
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/sendusername") = MAILSERVER_USER ' Benutzername  
	
	'Your password on the SMTP server  
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/sendpassword") = MAILSERVER_PASSWORD ' Passwort  
	
	'Server port (typically 25)  
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25  
	
	'Use SSL for the connection (False or True)  
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False  
	
	'Connection Timeout in seconds (the maximum time CDO will try to establish a connection to the SMTP server)  
	objMessage.Configuration.Fields.Item _
	("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60  
	
	objMessage.Configuration.Fields.Update
	
	'==End remote SMTP server configuration section==  
	objMessage.Send
end sub

Grüße
Member: DerWoWusste
DerWoWusste Jan 13, 2012 at 13:51:03 (UTC)
Goto Top
...und noch eine Möglichkeit:
Die resultierenden Eventlogeinträge bei Beendigung raussuchen und eventtriggers.exe verwenden ->erstellt Tasks, die Blat.exe anwerfen könnten.
Member: Ruffy1984
Ruffy1984 Jan 13, 2012 at 15:01:27 (UTC)
Goto Top
Hallo Leute,


vielen Dank für die ganzen Antworten.

ich habe das ganze jetzt mit Blat realisiert, habe die blat.exe in das system32 gepackt und ein kleines script geschrieben.

Das Script an sich funktioniert und schickt auch E-Mails raus. Das Script habe ich jetzt dem Dienst angehägt unter wiederherstellen --> Programm ausführen bei Fehler.

Ich kann es leider nicht testen. Es wird sich raus stellen wenn der Dienst beendet wird, ich hoffe ich bekomme dann eine E-Mail.-


Vielen dank
Member: DerWoWusste
DerWoWusste Jan 13, 2012 at 15:07:31 (UTC)
Goto Top
Das kannst Du jederzeit testen. Nimm Dir einen Dienst, stell die Überwachung ein und schieße dessen Prozess im Taskmanager ab ->Dienstabsturz simuliert.
Member: Ruffy1984
Ruffy1984 Jan 13, 2012 at 15:16:25 (UTC)
Goto Top
cool,

gerade mal testen!

ich gebe nochmal bescheid face-smile
Member: Ruffy1984
Ruffy1984 Jan 13, 2012 at 15:20:28 (UTC)
Goto Top
Jawoll,

es funktioniert , ging sogar richtig schnell.

hab den Prozess abgeschossen und 2 Sekunden später hatte ich die Mail.

Danke an alle.
Member: DerWoWusste
DerWoWusste Jan 13, 2012 at 15:53:14 (UTC)
Goto Top
Prima. Setz es noch auf gelöst.