Petit script VB pour receuillir des informations sur des PC en réseau

Petit script VB pour receuillir des informations sur des PC en réseau - VB/VBA/VBS - Programmation

Marsh Posté le 07-06-2006 à 14:23:19    

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 :
  1. strComputer = "."
  2. Set objSWbemServices = GetObject("winmgmts:\\" & strComputer)
  3. Set colSWbemObjectSet = _
  4. objSWbemServices.InstancesOf("Win32_LogicalMemoryConfiguration" )
  5. For Each objSWbemObject In colSWbemObjectSet
  6. Wscript.Echo "Total Physical Memory (kb): " & _
  7. objSWbemObject.TotalPhysicalMemory
  8. 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 :
  1. 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 :
  1. 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  :pt1cable: .


Message édité par Zboss le 07-06-2006 à 14:27:32
Reply

Marsh Posté le 07-06-2006 à 14:23:19   

Reply

Marsh Posté le 07-06-2006 à 14:34:29    

Reply

Marsh Posté le 07-06-2006 à 15:53:15    

Reply

Marsh Posté le 07-06-2006 à 21:12:17    

:bounce:

Reply

Marsh Posté le 08-06-2006 à 08:09:18    

Help  :??:

Reply

Marsh Posté le 08-06-2006 à 11:05:34    

J'ai essayé un autre script qui permet de spécifier les logins et mdp du PC auquel on veut se connecter :
 

Code :
  1. strComputer = "nom_du_PC"
  2. Set objSWbemLocator = CreateObject("WbemScripting.SWbemLocator" )
  3. Set objSWbemServices = objSWbemLocator.ConnectServer _
  4.     (strComputer, "root\cimv2", "nom_utilisateur", "mot_de_passe" )
  5. Set colSWbemObjectSet = objSWbemServices.InstancesOf("Win32_Service" )
  6. For Each objSWbemObject In colSWbemObjectSet
  7.     Wscript.Echo "Name: " & objSWbemObject.Name
  8. Next


 
Ca marche qd j'essaye de me connecter à un PC sous Windows Serveur 2003.
Par contre qd j'essaye de me connecter à des postes sous Windows XP, j'ai le droit au message d'erreur suivant :
 
"SWbemLocator: Le serveur RPC n'est pas disponible."
 
J'ai été vérifier dans les services, le service RPC est pourtant démarré  :??: .
 
Des idées sur la cause de ce problème ?  :sweat:  
 
 

Reply

Marsh Posté le 26-08-2013 à 10:27:48    

Si vous associez à la variable StrComputer="nom_de_l'ordinateur" il faut aller dans C:\%systemroot%\system32\drivers\etc puis ouvrir le fichier "hosts" en modification et y ajouter l'ip de l'ordinateur ainsi que son nom; permettant ainsi à votre machine de faire le lien de l'un vers l'autre si nécessaire.
 
 
sinon assigner directement à la variable StrComputer=IP_De_La_Machine a marché dans mon cas.
 
 
Amicalement.

Reply

Marsh Posté le 26-08-2013 à 10:57:13    

Pfiou, merci d'avoir répondu à ma question après 7 ans, mais je dois avouer que je ne sais même plus sur quoi je travaillais à l'époque ^^


---------------
Mario Kart for Ever
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed