Utilisation d'un objet WMI - Problème dans la requete sql
Bonjour,
Dans un de mes programmes je récupère une liste de processus sur un PC (distant ou local, peut importe) et je kill certain de ces processus grâce au code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
index = 0
Do Until objTextFile.AtEndOfStream
Set objWMIService = GetObject("winmgmts:
{impersonationLevel=impersonate}!\\ "
& ADRESSE_IP_PC_DISTANT & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process")
For Each objProcess in colProcess
If objProcess.ParentProcessID = PID_REFERANT Then
..........
index = index + 1
End If
Next
Set objWMIService = nothing
Set colprocess = nothing
Loop |
Mon problème se trouve au niveau de la requête exécuté par ExecQuery. Telle qu'elle est écrite cela fonctionne. Mais si je mais cette requête à la place :
Code:
1 2
| Set colProcess = objWMIService.ExecQuery
("Select * from Win32_Process Where Name = notepad.exe") |
Alors je ne peut plus parcourir mon objet colProcess par une boucle
Code:
1 2 3
| For each object in colProcess
.....
Next |
Cela plante au niveau de la boucle, et cela quelque soit le code se trouvant dans la boucle.
Est ce que quelqu'un aurait une idee ?
Merci d'avance pour vos réponses.