VBS, accés distant et Droits WMI

cs_trafalgar Messages postés 6 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 27 mai 2005 - 24 mai 2005 à 14:52
baron_spawn Messages postés 10 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 18 octobre 2007 - 8 févr. 2006 à 18:41
Bonjour,
Je suis en stage au sein d'un lycée. Et j'essaye de mettre en place une interface vb Qui lance un script VBS situé sur mon serveur. Ce script a pour but d'aller scruter (Avec WMI) les processus des machines que j'ai choisi et d'y fermer le process d'internet explorer. Mais le probléme c'est que lorsque je lance tout ça avec un Login autre que celui de l'administrateur du réseau, mon script tourne mais n'accède apparement pas aux objets WMI puisqu'il ne se passe rien...

Les Groupe profs et élève sont tout deux soumis a une GPO.

J'ai inclu sur les deux machine de test "Le serveur et le client de l'application" dans les acl des propriétés WMI "wmimgmt.msc" , le groupe PROFS avec tout les Droits.

Par contre, je ne sais pas si ma GPO peut interdire un accès distant à WMI ou pas puisque tout fonctionne correctement en mode administrateur.

Après quelques tests, je sais maintenant que mon utilistateur Prof, a accès à ses Objets WMI mais pas à ceux du poste "client, distant". Ce serait visiblement un problème de droits! Mais ...????

Si quelqun peut m'aider...

David
Ps:Voici Mon Script

Do While bStop <> True 'boucle infinie qui permet au programme de tourner en permanence

For Each sComputer In arrComputers 'Traitement de tout les ordinateurs de la salle

set colPing=Getobject("winmgmts:{impersonationLevel=impersonate}").ExecQuery("select"_
& " * from win32_PingStatus where address='" & sComputer & "'")

For Each oPing in colPing
If oPing.StatusCode <> 0 or IsNull(oPing.StatusCode) then
'la machine n'est pas connectée au réseau
Else
'la machine " & sComputer & " est bien connecté au réseau
'=> arreter le processus Internet Explorer

'Connexioin au service WMI distant
Set oWMIService = Getobject("winmgmts:" & _
"{impersonationLevel=impersonate}!\\" & sComputer & "\root\cimv2")
'Connexion à la liste des processus et recherche des processus Internet Explorer
Set colProcessList = oWMIService.ExecQuery _
("Select * from Win32_Process Where Name = 'IEXPLORE.EXE'")
'Arrêt des processus Internet Explorer
For Each oProcess in colProcessList
oProcess.Terminate()
Next
End if
Next
Next

Loop

1 réponse

baron_spawn Messages postés 10 Date d'inscription lundi 8 novembre 2004 Statut Membre Dernière intervention 18 octobre 2007
8 févr. 2006 à 18:41
Set oWMIService = Getobject("winmgmts:" & _
"{impersonationLevel=impersonate}!\" & sComputer & "\root\cimv2")

le script que tu utilises crée un objet WMI sans changer les droits. Du coup c'est la session avec laquelle le script est lancé qui donne les droits. Ton user ne doit pas avoir les droits et donc tu es "recalé".
Il faut le faire avec les Wbem
0
Rejoignez-nous