Page 1 sur 1
[..] Capturer les événements sur fichiers et dossiers
Posté : ven. 15 janv. 2010 09:16
par henriclaessens
Bonjour à toutes et tous,
J'aimerais savoir s'il est possible "d'écouter" windows afin de savoir quand une opération est effectuée par l'os sur un dossier ou un fichier.
En gros, j'aimerais récupérer le fullpath des dossiers et fichiers lorsqu'ils sont créés, déplacés ou supprimé.
Je me demande si ce ne serait pas possible avec un hook, mais là j'avoue que c'est au-delà de mes compétences
Alors si quelqu'une ou un pouvait me dépanner ce serait super sympa.
A plus
Henri
Re: [..] Capturer les événements sur fichiers et dossiers
Posté : dim. 17 janv. 2010 01:06
par EdE
j'ai rencontre le meme prblème il y a quelques temps...
le plus simple est d'utiliser
le vbs de base :
[VBS]
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Const ForReading = 1
Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("SELECT * FROM __InstanceOperationEvent WITHIN 1 WHERE " _
& "Targetinstance ISA 'CIM_DirectoryContainsFile' and " _
& "TargetInstance.GroupComponent= " _
& "'Win32_Directory.Name=""c:\\\\temp""'")
Do While TRUE
Set objEventObject = colMonitoredEvents.NextEvent()
Select Case objEventObject.Path_.Class
Case "__InstanceCreationEvent"
' dès qu un evenement wmi on lance un event windows
TriggerEvent(objEventObject.TargetInstance.PartComponent)
End Select
Loop
Function TriggerEvent(ByVal filename)ActiveItemArray = split(filename, "=")
CurrentItemFileName = ActiveItemArray(1)
CurrentItemFileNameClean = Replace(CurrentItemFileName, "\\", "\")
CurrentItemFileNameCleanFinal = Replace(CurrentItemFileNameClean, """", "")
set WshShell = WScript.CreateObject("WScript.Shell")
createEventText = "The following file was created: " & CurrentItemFileNameCleanFinal
createEventCommand = "eventcreate /id 1000 /t information /l application /d """ & createEventText & """"
WshShell.Run(createEventCommand)
End Function
Soit il faut l adapter ( pas tres complique) soit on le lance (run/_rundos...) et on recupere le stdout ....(sorti standard)
Re: [..] Capturer les événements sur fichiers et dossiers
Posté : dim. 17 janv. 2010 09:46
par Tlem
@EdE
Merci de placer votre code dans les balises prévues à cet effet.