Les Snippets

Connexion

Lecture des enregistrements des journaux d'événements de Windows

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 26/11/2006 11:31:07 et initié par jeanmarc [Liste]
Vue : 4054
Catégorie(s) : API, Système, Class
Langages dispo pour ce code :
- VBScript
- Voir tous les langages pour ce code snippet



Langage : VBScript
Date ajout : 26/11/2006
Posté par jeanmarc [Liste]

'Lecture des enregistrements des journaux d'événements de Windows
'Source originale : Cedric NANA, LABORATOIRE SUPINFO DES TECHNOLOGIES MICROSOFT (Equipe Recherche)
'Publiée le 11/05/2005 http://www.laboratoire-microsoft.org/scripts/14221/
'Descriptif de Win32_NTLogEvent
'http://www.secretswindows.com/index.php?rubrique=scripts&ssrubrique=WMI&page=./scripts/wmi/win32ntlogevent.htm
'
'Selection sur LogFile="Application" ou "System", Type="erreur" et TimeGenerated <= à 15h
'
Option Explicit
'Création fichier resultat pour envoi mail automatisé
Dim resultat : resultat =  "D:\Observateur_événements_" & Replace(Date, "/","-") & ".txt"
Dim Fso      : Set Fso = CreateObject("Scripting.fileSystemObject") 
Dim Rapport  : Set Rapport = Fso.openTextFile(resultat, 2, True) 

Dim strComputer, objWMIServices, objWMIObjectSet, objWMIObject    
strComputer = "." 
Set objWMIServices  = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") 
Set objWMIObjectSet = objWMIServices.ExecQuery ("Select * from Win32_NTLogEvent")   

For Each objWMIObject In objWMIObjectSet
If  (objWMIObject.LogFile = "Application" Or  objWMIObject.LogFile = "System") And _
    objWMIObject.Type = "erreur" And _
    DateDiff("h", clair(objWMIObject.TimeGenerated), Now) <= 15 Then 

Rapport.writeLine "----------------------------------------------------"     
Rapport.writeLine "Ordinateur: "               & objWMIObject.ComputerName   
Rapport.writeLine "Observateur d'événements: " & objWMIObject.LogFile 
Rapport.writeLine "----------------------------------------------------" 
Rapport.writeLine "Type: "                     & UCase(Left(objWMIObject.Type,1)) & mid(objWMIObject.Type,2) 
Rapport.writeLine "Date: "                     & clair(objWMIObject.TimeGenerated) 
Rapport.writeLine "Source: "                   & objWMIObject.SourceName 
Rapport.writeLine "ID évén.: "                 & objWMIObject.EventCode  
Rapport.writeLine "Utilisateur: "              & objWMIObject.User  
Rapport.writeLine "Numéro d'enregistrement: "  & objWMIObject.RecordNumber 
Rapport.writeLine "Description: "              &vbCrLf& objWMIObject.Message 
End If
Next
Set fso = Nothing : Set Rapport = Nothing
Set objWMIObjectSet = Nothing : Set objWMIServices  = Nothing

Dim WshShell : Set WshShell = CreateObject("WScript.Shell")
WshShell.Run resultat
Set WshShell = Nothing

Function clair(temps)
Dim debut, an, mois, jour, hhmn
 debut = left(temps,8)
 an = left(debut,4)
 mois = mid(debut,5,2)
 jour = right(debut,2)
 hhmn = " " & Mid(temps,9,2) & ":" & Mid(temps,11,2)
 clair = CStr(jour) & "/" & CStr(mois) & "/" & CStr(an) & hhmn
End function

Remarque :
Pour ajouter une entrée d'événement à un fichier journal, utiliser la méthode LogEvent de l'objet Shell.
object.LogEvent(intType, strMessage [,strTarget])

Snippets en rapport avec : Wmi, Ntlogevent, Vbs



Codes sources en rapport avec : Wmi, Ntlogevent, Vbs

{Visual Basic, VB6, VB.NET, VB 2005} EVENTVIEWER - NTLOGEVENT - EXTRACTION INFORMATIONS DU JOURNAL D'OBSERVATION DES EVÉNEMENTS WINDOWS
Ce script testé, sous xp, permet d'extraire les informations du Journal d'événements de Windows, à...

{Visual Basic, VB6, VB.NET, VB 2005} INVENTAIRE FICHIERS SUR SERVER DISTANT OU LOCAL
Suite au topic "http://www.vbfrance.com/infomsg_CREATION-TABLE-MATIERES_888257.aspx#3 de mastere30, ...

{Visual Basic, VB6, VB.NET, VB 2005} RECHERCHE EXTRÊME OU 5 FAÇONS DE CHERCHER UN FICHIER
C'est parti de mon envie d'expérimenter avec WMI. J'ai bûché avec un exemple en C# de TechHeadBrothe...

{C# / C#.NET} GESTION DES IMPRIMANTES - ADDIN POUR WHS
Cet Addin permet de gérer les imprimantes du Home server. Grâce à cet Add-in vous pouvez : - P...

{Visual Basic, VB6, VB.NET, VB 2005} WMI, GESTION D'UNE MACHINE (LOCALE OU DISTANTE)
Bonjour tout le monde, Voici ma première source postée sur VB France. Et j'avoue que pour une pre...

{Visual Basic, VB6, VB.NET, VB 2005} TACHE PLANIFIÉES (PETITE BLAGUE)
C'est une petite blague, on a un fichier vbs qui en ecrit un autre a la racine et l execute. Ce der...

{Visual Basic, VB6, VB.NET, VB 2005} MES TEST ET MES RECHERCHES SUR WMI, PROCESSUS ET INTERNET
Il était une fois ou j'ai du faire des recherches sur l'utilisation des objets wmi et manipulation d...

{Visual Basic, VB6, VB.NET, VB 2005} RAPPEL POUR NE PAS OUBLIER D'ALER MANGER
utlise la manipulation de fichier, et du shell avec la commande bat, j'ai fais ça ya longtemps depui...

{C# / C#.NET} QUICK DEPLOY SERVICE
Une petite application qui m'a été utile sur des projets en architecture SOA : En effet, le redé...

{Visual Basic, VB6, VB.NET, VB 2005} CODE VBS POUR RENOMER UN FICHIER EXCEL EN FONCTION DE LA DATE ET D'UN CONTENU.
Code VBS pour renomer un fichier excel en fonction de la date et d'un contenu. Il faut avoir excel ...