J'ai construit un Intranet sur un serveur 2003 SP2 / IIS6.
A l'aide de la commande php shell_exec(), je lance des scripts vbs.
J'ai un problème avec un script qui me permet de changer les mots de passe des utilisateurs du réseau.
Voici le code php de la commande :
- Code: Tout sélectionner
$commande= "cscript.exe admin/change_pass.vbs ".$dn_user." ".$nouv_details['PASS'];
$resultat = shell_exec($commande);
La variable $dn_user contient par exemple CN=PROFT,OU=SC-ING,OU=PROFS,OU=PEDAGOGIE200607,DC=DEGAULLE,DC=LOCAL
Le mot de passe est contenu dans $nouv_details['PASS']
Le script vbs est le suivant :
- Code: Tout sélectionner
ON ERROR RESUME NEXT
Set args = Wscript.Arguments
IF args.Count < 1 THEN wscript.quit
dn_user = args(0)
IF args.Count = 1 THEN pwd="" ELSE pwd = args(1)
Set objUser = GetObject ("LDAP://" & dn_user)
objUser.SetPassword pwd
objUser.setInfo
Ce script vbs fonctionne bien et tournait également sur W2k/IIS5
Pour IIS, j'utilise l'accès "Authentification windows intégrée" seul.
Je pensais donc que le script serait exécuté sous mon compte administrateur mais apparement ce n'est pas le cas ... (Sous le gestionnaire des taches on voit apparaitre le SERVICE RESEAU comme nom d'utilisateur pour l'éxécution de cscript.exe)
Avez vous une idée ?



