Comment capturer les évènements de sécurité (échec login) de l'observateur de Windows.
2 réponses
Teddy
Bonjour,
J'utilise le code ci-dessous pour capturer les évènements de sécurité (échec de login selon la
stratégie d'audit que j'ai définie) de l'observateur de Windows.
' CAPTURE données de l'Observateur d'évènements : requête WQL
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Security)}!\\" & TComputer
& "\root\cimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * FROM Win32_NTLogEvent WHERE Logfile = 'Security'")
For Each objEvent in colLoggedEvents ' -> Parcourt les objEvent de la collection
Rset1.AddNew
Rset1.Fields(0) = objEvent.Category
Rset1.Fields(1) = objEvent.ComputerName
Rset1.Fields(2) = objEvent.EventCode
Rset1.Fields(3) = objEvent.Message
Rset1.Fields(4) = objEvent.RecordNumber
Rset1.Fields(5) = objEvent.SourceName
var = objEvent.TimeWritten
var = Mid(Var,7,2)&"/"&Mid(Var,5,2)&"/"&Mid(Var,1,4)&"
"&Mid(Var,9,2)&":"&Mid(Var,11,2)&":"&Mid(Var,13,2)
Rset1.Fields(6) = var
Rset1.Fields(7) = objEvent.Type
Rset1.Fields(8) = objEvent.User
Rset1.Update
Next
Le problème, c'est qu'il manque des infos concernant les propriétés d'un évènement (celles qui
s'affichent quand on fait un clic droit sur un évènement dans la liste de l'observateur de Windows).
Auriez-vous des idées ?
Merci beaucoup par avance.
J'ai trouvé la solution du problème sur un forum américain.
Quand on récupère le contenu de objEvent.Message, il faut penser à supprimer les <CR> et autres caractères interdits dans une base de données. Les évènements ne sont plus tronqués. Tout y est. Super non ?
" Teddy" a écrit dans le message de news: OiEDsg0$
Bonjour,
J'utilise le code ci-dessous pour capturer les évènements de sécurité (échec de login selon la stratégie d'audit que j'ai définie) de l'observateur de Windows.
' CAPTURE données de l'Observateur d'évènements : requête WQL Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Security)}!" & TComputer & "rootcimv2") Set colLoggedEvents = objWMIService.ExecQuery _ ("Select * FROM Win32_NTLogEvent WHERE Logfile = 'Security'")
For Each objEvent in colLoggedEvents ' -> Parcourt les objEvent de la collection Rset1.AddNew Rset1.Fields(0) = objEvent.Category Rset1.Fields(1) = objEvent.ComputerName Rset1.Fields(2) = objEvent.EventCode Rset1.Fields(3) = objEvent.Message Rset1.Fields(4) = objEvent.RecordNumber Rset1.Fields(5) = objEvent.SourceName var = objEvent.TimeWritten var = Mid(Var,7,2)&"/"&Mid(Var,5,2)&"/"&Mid(Var,1,4)&" "&Mid(Var,9,2)&":"&Mid(Var,11,2)&":"&Mid(Var,13,2) Rset1.Fields(6) = var Rset1.Fields(7) = objEvent.Type Rset1.Fields(8) = objEvent.User Rset1.Update Next
Le problème, c'est qu'il manque des infos concernant les propriétés d'un évènement (celles qui s'affichent quand on fait un clic droit sur un évènement dans la liste de l'observateur de Windows). Auriez-vous des idées ? Merci beaucoup par avance.
Teddy
J'ai trouvé la solution du problème sur un forum américain.
Quand on récupère le contenu de objEvent.Message, il faut penser à supprimer les <CR> et autres
caractères interdits dans une base de données. Les évènements ne sont plus tronqués. Tout y est.
Super non ?
" Teddy" <teddy@wanadoo.fr> a écrit dans le message de news:
OiEDsg0$EHA.3528@tk2msftngp13.phx.gbl...
Bonjour,
J'utilise le code ci-dessous pour capturer les évènements de sécurité (échec de login selon la
stratégie d'audit que j'ai définie) de l'observateur de Windows.
' CAPTURE données de l'Observateur d'évènements : requête WQL
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Security)}!\" &
TComputer & "rootcimv2")
Set colLoggedEvents = objWMIService.ExecQuery _
("Select * FROM Win32_NTLogEvent WHERE Logfile = 'Security'")
For Each objEvent in colLoggedEvents ' -> Parcourt les objEvent de la collection
Rset1.AddNew
Rset1.Fields(0) = objEvent.Category
Rset1.Fields(1) = objEvent.ComputerName
Rset1.Fields(2) = objEvent.EventCode
Rset1.Fields(3) = objEvent.Message
Rset1.Fields(4) = objEvent.RecordNumber
Rset1.Fields(5) = objEvent.SourceName
var = objEvent.TimeWritten
var = Mid(Var,7,2)&"/"&Mid(Var,5,2)&"/"&Mid(Var,1,4)&"
"&Mid(Var,9,2)&":"&Mid(Var,11,2)&":"&Mid(Var,13,2)
Rset1.Fields(6) = var
Rset1.Fields(7) = objEvent.Type
Rset1.Fields(8) = objEvent.User
Rset1.Update
Next
Le problème, c'est qu'il manque des infos concernant les propriétés d'un évènement (celles qui
s'affichent quand on fait un clic droit sur un évènement dans la liste de l'observateur de
Windows).
Auriez-vous des idées ?
Merci beaucoup par avance.
J'ai trouvé la solution du problème sur un forum américain.
Quand on récupère le contenu de objEvent.Message, il faut penser à supprimer les <CR> et autres caractères interdits dans une base de données. Les évènements ne sont plus tronqués. Tout y est. Super non ?
" Teddy" a écrit dans le message de news: OiEDsg0$
Bonjour,
J'utilise le code ci-dessous pour capturer les évènements de sécurité (échec de login selon la stratégie d'audit que j'ai définie) de l'observateur de Windows.
' CAPTURE données de l'Observateur d'évènements : requête WQL Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate,(Security)}!" & TComputer & "rootcimv2") Set colLoggedEvents = objWMIService.ExecQuery _ ("Select * FROM Win32_NTLogEvent WHERE Logfile = 'Security'")
For Each objEvent in colLoggedEvents ' -> Parcourt les objEvent de la collection Rset1.AddNew Rset1.Fields(0) = objEvent.Category Rset1.Fields(1) = objEvent.ComputerName Rset1.Fields(2) = objEvent.EventCode Rset1.Fields(3) = objEvent.Message Rset1.Fields(4) = objEvent.RecordNumber Rset1.Fields(5) = objEvent.SourceName var = objEvent.TimeWritten var = Mid(Var,7,2)&"/"&Mid(Var,5,2)&"/"&Mid(Var,1,4)&" "&Mid(Var,9,2)&":"&Mid(Var,11,2)&":"&Mid(Var,13,2) Rset1.Fields(6) = var Rset1.Fields(7) = objEvent.Type Rset1.Fields(8) = objEvent.User Rset1.Update Next
Le problème, c'est qu'il manque des infos concernant les propriétés d'un évènement (celles qui s'affichent quand on fait un clic droit sur un évènement dans la liste de l'observateur de Windows). Auriez-vous des idées ? Merci beaucoup par avance.