Laboratoire Microsoft |  Blog |  Webcast |  Students Club |  FaqXP  |  CertifExpress 
 Le Forum de Référence sur les Technologies Microsoft - http://www.forum-microsoft.org

[RESOLU] VBScript et accès à un poste distant

Modérateurs: Goran, Modérateurs_Divers

[RESOLU] VBScript et accès à un poste distant

Messagepar ovide sur Mar 02 Sep 2008, 12:50

Bonjour,

Suite à un post précédent, j'ai obtenu le code source ci-dessous - que j'ai adapté - qui permet de récupérer les lettres et lecteurs réseau mappés sur un poste. L'opération fonctionne en local mais pas sur un poste distant.

Code: Tout sélectionner
strComputer = "."

Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colDrives = objWMIService.ExecQuery _
    ("Select * From Win32_LogicalDisk Where DriveType = 4")

   Wscript.Echo "*************************************"
   Wscript.Echo "Lecteurs réseau mappés sur " & strComputer   
   Wscript.Echo "*************************************"
   
For Each objDrive in colDrives
    Wscript.Echo objDrive.ProviderName & " (" & objDrive.DeviceID & ")"
Next



C'est la variable strComputer qui détermine le poste à analyser. Le "." signifie le poste local. Pour un poste sur le réseau, j'ai bien essayé une IP, un nom DNS et même un DOMAINE\Nom_DNS mais je n'obtiens rien.

J'aimerais savoir si quelqu'un saurait utiliser ce script sur une machine du réseau (pour info j'ai les droits d'admin/credentials sur les postes testés).

En complément, est-ce qu'il ne faudrait pas chercher du côté de l'"impersonation level" qui semble permettre l'exécution de commandes avec des privilèges supérieurs ?

Un extrait intéressant :

Setting the Default Impersonation Level Using the Registry

If you have access to the registry, you can also set the default impersonation level registry key. This key specifies which impersonation level the Scripting API for WMI uses unless otherwise specified. The following path identifies the registry path.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WBEM\
Scripting\Default Impersonation Level

By default, the registry key is set to 3, specifying the Impersonate impersonation level. Some providers may require a higher level of impersonation.


Merci d'avance pour votre aide et vos conseils.

Aurélien
Dernière édition par ovide le Mar 02 Sep 2008, 14:40, édité 1 fois au total.
Avatar de l’utilisateur
ovide
Junior
Junior
 
Messages: 42
Inscrit le: Mer 05 Sep 2007, 16:25

Re: VBScript et accès à un poste distant

Messagepar TheHinou sur Mar 02 Sep 2008, 13:18

dans le cadre d'un domaine La connexion à une machine distance ne pose aucun soucis en réplaçant "." par "l'ip de la machine distante"
Cependant certains problèmes ressortent :
- firewall
- service wmi non lancé
- ...

Code: Tout sélectionner
On error resume next
      Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputerName & "\root\cimv2")
      if err<>0 then
        if err=-2147467259 then
           WScript.Echo("La connection a distance est ok Mais le service semble non fonctionnel")
        elseif err=462 then
           WScript.Echo("Présence Hypothétique d'un firewall : A vérifier")
        elseif err=70 then
          WScript.Echo("Pb service de composant faire une recherche sur les droits d'acces wmi et erreur 70")
        else
          WScript.Echo("non recensé")
        end if
    else
 
    end if


c'est une partie du code que j'utilise pour récupérer les information hardware à traver le réseau et les erreurs sur lesquels je suis tombé.
A noter que j'utilise un compte admin du domaine, que hors domaine il faut utiliser un "WbemScripting.SWbemLocator" pour pouvoir spécifier l'utilisateur et le mot de passe.

Ca fonctionne sur toutes version de 2000 et supérieur. Pour nt4 et 98 il faut installer le wmi sur ces machines.
Avatar de l’utilisateur
TheHinou
Grand Master
Grand Master
 
Messages: 1894
Inscrit le: Mar 17 Jan 2006, 14:25

Re: VBScript et accès à un poste distant

Messagepar ovide sur Mar 02 Sep 2008, 13:49

Je comprends le principe du code que tu as envoyé même si je n'arrive pas à le faire fonctionner à mon niveau de dév VBS...

Ce que je peux te dire, c'est que mes postes tests n'ont pas le firewall et que le service Extension du pilote WMI est bien lancé. Pareil, j'ai les droits d'admin.

Pour l'instant j'exécute soit en double-cliquant sur le VBS, soit par cscript. A croire que cette info bien précise (obtenir les lecteurs mappés distants) n'est pas possible à récupérer (cf. mon précédent post...)
Avatar de l’utilisateur
ovide
Junior
Junior
 
Messages: 42
Inscrit le: Mer 05 Sep 2007, 16:25

Re: VBScript et accès à un poste distant

Messagepar bigstyle sur Mar 02 Sep 2008, 13:59

Oui je pense que tu es plus dans une particularité du stockage des lecteurs réseaux que dans un problème de dev mais je peux me tromper :D
Freddy ELMALEH - Consultant Freelance pour Active IT
MVP Windows Server - Directory Services (2007-2008)
MCITP Enterprise Administrator (2008) - MCSE 2000/2003 Security - MCSA Messaging 2000/2003
Bibliographie : "Sécurité Windows Vista - Le Guide Complet". et "Informatisez votre TPE".
Tout ce que je sais,c'est que je ne sais rien.
Image
Avatar de l’utilisateur
bigstyle
Forum Master
Forum Master
 
Messages: 15922
Inscrit le: Ven 01 Fév 2002, 21:46
Localisation: Paris

Re: VBScript et accès à un poste distant

Messagepar ovide sur Mar 02 Sep 2008, 14:40

C'est bien mon drame...

Merci à tous les deux pour votre aide.

Aurélien
Avatar de l’utilisateur
ovide
Junior
Junior
 
Messages: 42
Inscrit le: Mer 05 Sep 2007, 16:25

Re: [RESOLU] VBScript et accès à un poste distant

Messagepar TheHinou sur Mar 02 Sep 2008, 15:48

A savoir que les lecteur réseau monté le son pour un utilisateur donnée et que via wmi t'es pas l'utilisateur en question deplus par exemple Win32_MappedLogicalDisk n'est valable que pour une un client xp et supérieur
Avatar de l’utilisateur
TheHinou
Grand Master
Grand Master
 
Messages: 1894
Inscrit le: Mar 17 Jan 2006, 14:25

Re: [RESOLU] VBScript et accès à un poste distant

Messagepar ovide sur Mar 02 Sep 2008, 15:55

Merci pour le complément d'info.

Aurélien
Avatar de l’utilisateur
ovide
Junior
Junior
 
Messages: 42
Inscrit le: Mer 05 Sep 2007, 16:25


Retourner vers Programmation

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités



Accueil | News | Articles | Tips | Outils | FAQ XP | Certification | Easters Eggs
Essentiels | Top Sites | Glossaire | Vidéos | Whitepapers | Essentiels | Boîte à Scripts
Conditions d'utilisation é Copyright | Respect de la vie privée