Alerte par mail quand service Windows down

Le Forum Windows XP
Scanner Windows pour détecter les erreurs de registre

Ce que nous vous conseillons :

1. Lisez les réponses ci-dessous où vous trouverez des conseils et de l'aide de la part des autres utilisateurs.

2. Avant de faire des modifications sur votre système ou d'installer des logiciels, nous vous recommandons
    fortement de cliquer ici pour scanner Windows afin de détecter les erreurs de registre.



Messagepar vazy » 02 Fév 2007, 16:41

Je cherche une solution qui me permetterai d'être informé par mail (ou un système qui lance un .bat dans lequel je pourrai faire une cde smtp) lorsqu'un service windows est crashé (exemple le service spooleur d'impression). Quelqu'un aurait-il eu l'occasion de se pencher sur le problème ?
Merci
vazy
 

Messagepar JoShuA » 02 Fév 2007, 16:49

Bonjour,

Tu peux t'inspirer du script suivant :

Code: Tout sélectionner
sc query spooler | FIND "STATE"  | FIND "STOPPED"
if ERRORLEVEL 0 goto alerte
goto fin
:alerte
echo ALERT!!!
:fin
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar JoShuA » 02 Fév 2007, 16:58

Tu peux aussi surveiller les services via un script WMI ou même en SNMP si tu as un framework de supervision
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar JoShuA » 02 Fév 2007, 17:03

Dans le même esprit un source VB qui redémarre le service si ce dernier est "pending" ou "stopped" :

Code: Tout sélectionner
Dim sc As New ServiceController("Spooler")
Console.WriteLine("Spooler service status is currently set to {0}", sc.Status)

If sc.Status.Equals(ServiceControllerStatus.Stopped) Or sc.Status.Equals(ServiceControllerStatus.StopPending) Then
   ' Start the service if the current status is stopped.
   Console.WriteLine("Starting Spooler service...")
   sc.Start()
End If

' Refresh and display the service status.
sc.Refresh()
Console.WriteLine("Spooler service status is now set to {0}.", sc.Status)
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF

Messagepar vazy » 05 Fév 2007, 12:02

Merci de tes réponses, voici comment j'ai pu m'en sortir (grâce à ton aide)
J'ai donc créé un fichier bat

sc interrogate Spooler>toto.txt /Y
find toto.txt " STATE : 1 STOPPED "
if ERRORLEVEL 0 goto alerte
goto fin
:alerte
MAILSEND -d nomdomaine.com -smtp @IPserveurmail -t userdestinataire@nomdomaine.com -f alerte@nomdomaine.com -sub "ALERTE SERVICE DOWN" -m message.txt
:fin

MAIL SEND est un freeware qui permet de faire l'équivalent d'un telnet 25 par une seule ligne de commande.
Encore merci

Je ne sais pas si cela t'interesse mai bon, au cas où !
Image
vazy
Dernière édition par vazy le 05 Fév 2007, 14:35, édité 1 fois au total.
vazy
 

Messagepar JoShuA » 05 Fév 2007, 16:33

pourquoi ne pas faire le find directement dans le commande SC ? Ca t'évite de créer un fichier.

Pour info j'utilise blat ou l'équivalent de sendmailpour envoyer des mails suivant les besoins
Avatar de l’utilisateur
JoShuA
Modérateur
 
Messages: 7246
Inscrit le: 02 Jan 2002, 15:37
Localisation: IdF


Retour vers Windows XP

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 4 invités

  •  Liens commerciaux