AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 lire l'observateur d'evenement

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
jl56
Débutant
Débutant


Nombre de messages : 1
Date d'inscription : 12/07/2007

MessageSujet: lire l'observateur d'evenement   2007-07-12, 22:57

bonjour à tous

je cherche à lire l'observateur d'evenement de windows en continu

pour detecter des erreur ex. disc , memoire etc...
soit avec l'id ou le nom de la source
et envoyer un email d'alerte ( envoie d'email je sais faire )

Sur le forum anglais, il y a quelques posts mais je ne suis ni anglophone ni programmeur confirmer et le peu de script que j'ai testé ne fonctionne pas

quelqu'un à t'il déja une experience dans ce domaine

je suis preneur de toutes sugestions merci

a+ JL56
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: lire l'observateur d'evenement   2007-07-14, 00:32

j'ai trouvé cet exple fonctionnel et très intéressant :

[code]
$Query_Clause = "Select * FROM Win32_NTLogEvent WHERE Logfile = 'System' AND SourceName = 'eventlog' AND EventCode = 6005"
$objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate,(Security)}!\\" & @ComputerName & "\root\cimv2")
If IsObj($objWMIService) Then
$colItems = $objWMIService.ExecQuery ($Query_Clause)
If IsObj($colItems) Then
For $objEvent In $colItems
$Output = ""
$Output &= "Category: " & $objEvent.Category & @CRLF
$Output &= "Computer Name: " & $objEvent.ComputerName & @CRLF
$Output &= "Event Code: " & $objEvent.EventCode & @CRLF
$Output &= "Message: " & $objEvent.Message & @CRLF
$Output &= "Record Number: " & $objEvent.RecordNumber & @CRLF
$Output &= "Source Name: " & $objEvent.SourceName & @CRLF
$Output &= "Time Written: " & $objEvent.TimeWritten & @CRLF
$Output &= "Event Type: " & $objEvent.Type & @CRLF
$Output &= "User: " & $objEvent.User & @CRLF
If MsgBox(64 + 4, "Entry Found:", $Output & @CRLF & @CRLF & "Continue?") = 7 Then Exit
Next
Else
MsgBox(16, "Error", "$colItems is not an object.")
EndIf
Else
MsgBox(16, "Error", "$objWMIService is not an object.")
EndIf
[/code]

faudra l'adapter en fonction de l'eventcode, la catégorie ...
Puisque l'idée est de monitoré à interval régulier, il faudra faire un check sur la date de modif du fichier C:\WINDOWS\system32\config\SysEvent.Evt (ou autre si ce n'est pas system qui est monitoré) pour savoir si il y a du neuf ou pas, puis jouer sur la variable TimeWritten pour localiser les elts nouveaux par rapports aux anciens.
Gros taf sur la planche
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
lire l'observateur d'evenement
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Plusieurs messages d'erreurs dans l'observateur d'évènements
» Vous êtes cordialement inviter à lire ma présentation.
» Lire les SWF ( flash ) directement sur l'Ordi
» A LIRE : Info pratique pour les debutants
» Attention: virus sur msn à lire de suite

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: