Bonjour à tous,

je souhaiterai créer une fonction wmiquery qui appelle n'importe quelles informations que je souhaiterai.

Je souhaiterai les informations suivantes par exemple :

Message, EventType, TimeGenerated.

mais il se peut que je veuille d'autres informations par nécessairement les mêmes :

EventCode, Message, SourceName....


Je pensai à faire une fonction qui me permettrait de lire ce que je souhaite mais je n'y parviens pas. Mettre les informations en paramètres en quelques sortes.
Je n'ai jamais réalisé de fonction et j'ai toujours utilisé une version standard WMI mais ça devient vite long et laborieux.

FUNCTION WMIQUERY(Property1, Property2,Property3)
.....
END FUNCTION

J'ai lu que je devais utilisé Array() mais je ne parviens pas à faire afficher l'information ni à créer la fonction.

Pourriez vous m'aider ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
strComputer = "."
 
 
arrProperty = Array("Message","TimeGenerated","EventType")
 
For Each strProperty In arrProperty
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_NTLogEvent ",,48)
 
 
 
Wscript.Echo objItem.strProperty
 
 
Next
Code de base :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2") 
Set colItems = objWMIService.ExecQuery( _
    "SELECT * FROM Win32_NTLogEvent",,48) 
For Each objItem in colItems 
    Wscript.Echo "EventType: " & objItem.EventType
    Wscript.Echo "Message: " & objItem.Message
    Wscript.Echo "TimeGenerated: " & objItem.TimeGenerated
Next
Merci d'avance aux membres qui prendront le temps de m'expliquer.

Bonne journée
Acris