Problème : élèvation des droits nécessaires.
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:
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