Je profite de ce topic car je suis en train de coder un petit truc en VB pour récupérer des informations sur des machines en réseau :
Code :
- strComputer = "."
- Set objSWbemServices = GetObject("winmgmts:\\" & strComputer)
- Set colSWbemObjectSet = _
- objSWbemServices.InstancesOf("Win32_LogicalMemoryConfiguration" )
- For Each objSWbemObject In colSWbemObjectSet
- Wscript.Echo "Total Physical Memory (kb): " & _
- objSWbemObject.TotalPhysicalMemory
- Next
|
Dans cet exemple, je récupère juste des infos sur la mémoire. Enfin bref, en local ça marche très bien, mais si j'essaye sur le réseau (en remplaçant strComputer = "." par strComputer = "SERVEUR" par exemple, serveur étant un nom Netbios valide), j'obtiens l'erreur :
Code :
- C:\\Test2\\test.vbs<3,1> Erreur d'exécution Microsoft VBScript: Permission refusée: 'GetObject'
|
J'ai donc comparé avec le code proposé par l'auteur d'un autre topic, qui apparemment fonctionne :
Code :
- Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2" )
|
, mais à quoi servent le "impersonationLevel=impersonate" et le "\root\cimv2" ?
Si quelqu'un a des pistes concernant la résolution de ce problème, n'hésitez pas .
PS: j'avais fait remonter un vieux topic pour poser ma question, mais vu qu'il a la balise [Résolu] dans son titre, c'était ptet pas une bonne idée .
Message édité par Zboss le 07-06-2006 à 14:27:32