Accueil > > > EVENTVIEWER - NTLOGEVENT - EXTRACTION INFORMATIONS DU JOURNAL D'OBSERVATION DES EVÉNEMENTS WINDOWS
EVENTVIEWER - NTLOGEVENT - EXTRACTION INFORMATIONS DU JOURNAL D'OBSERVATION DES EVÉNEMENTS WINDOWS
Information sur la source
Description
Ce script testé, sous xp, permet d'extraire les informations du Journal d'événements de Windows, à partir du fichier "Win32_NTLogEvent". Dans cet exemple , les informations recueillies sont formatées dans un .txt
Source
- '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
- '
- On Error Resume Next
- 'Création fichier resultat
- 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 Where (LogFile='Application' Or LogFile='system') And Type='erreur'")
- For Each objWMIObject In objWMIObjectSet
- Dim MyComputer : MyComputer = objWMIObject.ComputerName
-
- If DateDiff("d", clair(objWMIObject.TimeGenerated), Now) <= 20 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
-
- If Len(objWMIObject.Message) > 56 Then
- Rapport.writeLine "Description: " &vbCrLf& Cesure(objWMIObject.Message, 56)
- Else
- Rapport.writeLine "Description: " &vbCrLf& objWMIObject.Message
- End If
-
- End If
- Next
- Rapport.Close
- Set Rapport = Nothing
- 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
-
- 'Envoi automatisé du mail
- 'Call EnvoiMail(resultat, MyComputer, Contenu)
- WScript.Quit
-
- Function clair(temps)
- 'tranformation de la date "aaaammjjhhmnss" en jj/mm/aaaa hh:mn
- 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) & CStr(hhmn)
- 'MsgBox temps &vbCrLf& clair
- End function
-
- Function Cesure(texte,taillecesure)
- 'Cette function Cesure est à améliorer
- Dim posespace
- Dim textimp
-
- While (Len(texte) > taillecesure)
- 'Vérifier si la césure ne se fait pas juste avant l'espace (apres un mot entier) :
- If Mid(texte, taillecesure + 1, 1) = " " Then
- 'si c'est le cas , ne pas chercher d'espace
- posespace = taillecesure
- Else
- 'sinon, chercher un espace avant le mot en cours
- posespace = InStrRev(Left(texte, taillecesure), " ") - 1
- End If
- 'ajouter le texte tronqué à la sortie de la fonction
- textimp = textimp & Left(texte, posespace) & vbCrLf
- 'tronquer le texte et recommencer la boucle
- texte = Mid(Trim(texte), posespace + 2)
-
- Wend
- 'ajouter le restant du texte
- textimp = textimp & texte
- 'retourner le resultat de la fonction
- Cesure = textimp
- End Function
'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
'
On Error Resume Next
'Création fichier resultat
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 Where (LogFile='Application' Or LogFile='system') And Type='erreur'")
For Each objWMIObject In objWMIObjectSet
Dim MyComputer : MyComputer = objWMIObject.ComputerName
If DateDiff("d", clair(objWMIObject.TimeGenerated), Now) <= 20 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
If Len(objWMIObject.Message) > 56 Then
Rapport.writeLine "Description: " &vbCrLf& Cesure(objWMIObject.Message, 56)
Else
Rapport.writeLine "Description: " &vbCrLf& objWMIObject.Message
End If
End If
Next
Rapport.Close
Set Rapport = Nothing
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
'Envoi automatisé du mail
'Call EnvoiMail(resultat, MyComputer, Contenu)
WScript.Quit
Function clair(temps)
'tranformation de la date "aaaammjjhhmnss" en jj/mm/aaaa hh:mn
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) & CStr(hhmn)
'MsgBox temps &vbCrLf& clair
End function
Function Cesure(texte,taillecesure)
'Cette function Cesure est à améliorer
Dim posespace
Dim textimp
While (Len(texte) > taillecesure)
'Vérifier si la césure ne se fait pas juste avant l'espace (apres un mot entier) :
If Mid(texte, taillecesure + 1, 1) = " " Then
'si c'est le cas , ne pas chercher d'espace
posespace = taillecesure
Else
'sinon, chercher un espace avant le mot en cours
posespace = InStrRev(Left(texte, taillecesure), " ") - 1
End If
'ajouter le texte tronqué à la sortie de la fonction
textimp = textimp & Left(texte, posespace) & vbCrLf
'tronquer le texte et recommencer la boucle
texte = Mid(Trim(texte), posespace + 2)
Wend
'ajouter le restant du texte
textimp = textimp & texte
'retourner le resultat de la fonction
Cesure = textimp
End Function
Conclusion
En cours d'écriture: - - résultat dans un fichier html pour pièce jointe de mail; - résultat dans un fichier xls pour pièce jointe de mail; - afficher le résultat .txt dans le corps du mail; - afficher le résultat .htm dans le corps du mail;
La Query ne demande qu'à être développée.
jean-marc
Historique
- 28 novembre 2006 12:42:02 :
- Correction de la Quéry (bug sur certains xp)
Ajout d'une function Césure pour la description des messages (à améliorer)
Ce script, en vbs, ne necéssite aucune install de composant.
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
VBS et WMI [ par TheEwook ]
Bonjour, Voilà j'arrive bien à ajouter une passerelle en WMI sur une interface. Par contre le seule problème que j'ai c'est que je n'arrive pas à l'en
VBS, WMI & groupes locaux [ par rodrigos ]
Salut!Je suis en train de me mettre au vbscript et j'aimerai savoir comment on peut obtenir l'ensemble des utilisateurs d'un groupe local: par exemple
soucis entre des API WMI HTML et VBS [ par barba ]
Quel beau melange!Cela necessite une petite explication.mon probleme: j'ai une page html qui execute un code vbs (il cree un repertoire, copie 4 fichi
[VBS] wmi user courant [ par remifalcon ]
BonjourJe cherche désespérément la librairie wmi que me donnerait l'utilisateur (local ou non) en cours de session d'une machineJ'ai essayé caSet objs
VBS fichier texte et WMI [ par jojo42000 ]
Salut tous le monde, Je suis debutant et j'ai tres peu de notion de prog. Je dispose d'un fichier ordi.txt sous c:\ Ce fichier contient une liste de n
Liste des logiciels installés (par VBS) [ par glad ]
Bonjour, Je suis un peu perplexe[^^sad2], je viens de m'apercevoir que certains logiciels ne "remontaient" pas ds WMI via le script suivant : [code=
Lecteur réseau via script VBS sous une session Citrix [ par reeves77185 ]
Bonjour, Je suis actuellement en charge d'un projet au sein de ma société qui me fait faire un peu de VBS malgré que ce soit pas mon taff mais alors
VBS Déplacer la souri [ par Hamptonash ]
Bonjour à tous, Ce forum est décidement le meilleur!! Voilà mon problème, je voudrais savoir si quelqu'un connait une fonctions en VBS je précise!!
Suppression d'un VBS après exécution [ par mat76 ]
Bonjour , Je me permet de vous solliciter après moult recherches infructueuses. Voici ma problématique: Sur des postes Vista, la remontée de l'impr
Changement clé Office 2010 [ par stephane031 ]
Bonjour, Je me tourne vers vous car je souhaiterai faire un script qui me permette de modifier et d'activer une clé Office 2010. Sur un master, nous
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|