Bonjour à tous,

je suis en train de coder un petit script en VBS qui va chercher la valeur du champ "description" dans AD et remplace la valeur existante en local par celle-là.

Mon script marche correctement sous XP si l'utilisateur qui l'exécute est administrateur, sous seven le script plante si les UAC sont activée car il n'a pas les droits de modifier cette valeur.

Voici le dit script :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
ldap_description=""
'Connect to LDAP
Set ado = CreateObject("ADODB.Connection")            'create new ADO connection 
ado.Provider = "ADSDSOObject"                         'use the ADSI interface 
ado.Open "ConName"
 
Set wshShell = WScript.CreateObject( "WScript.Shell" )
strComputerName = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
 
'Construction et exécution de la requête LDAP, résultat inséré dans objectlist
LdapQuery= "<LDAP://xxxxx/ou=PC xxx,dc=xxx,dc=pri>; (CN="& strComputerName &");ADSPath;subtree"
Set objectList = ado.Execute(LdapQuery) 
While Not objectList.EOF
 'On sélectionne l'objet LDAP à mettre à jour
  CompPath = objectList.Fields("ADSPath")
 Set obj= GetObject(CompPath)
  ldap_description=obj.Description
  objectList.MoveNext
 
Wend
 
Set Obj= GetObject("winmgmts:\\" & strComputername).InstancesOf("Win32_OperatingSystem")
For Each x In Obj 
   Wscript.echo x.Description
   x.Description = ldap_description
   x.Put_
   Wscript.echo x.Description
Next
Je cherche donc différentes solutions :

- La meilleur : un moyen qui me permettrais de systématiquement exécuter ce script en tant qu'administrateur de la machine, pour l'instant il est prévu de l'exécuter en même temps que le reste des login scripts.
- La moins pire : je dois tester si l'utilisateur possèdes des droits administrateur, si c'est le cas, effectuer la modification, si ça n'est pas le cas, ne rien faire.

En passant, comme vous le constatez surement je suis novice en VBS ( et loin d'être un programmeur inné ) donc si vous avez d'autres critiques à faire ou améliorations à proposer n'hésitez pas!

Merci d'avance.

Helyo