Bonjour bonjour,

Alors voilà ça fait plusieurs jours que je cherche une solution à mon problème sans succès, voilà mon problème :

J'ai un site web avec un Active Directory (Windows Server 2012 R2 IIS8), quand l'utilisateur à oublié son mot de passe j'ai un petit lien qui lui envoie un mail avec un lien temporaire (avec token).

Si l'utilisateur est trouver dans l'AD il saisie son nouveau mot de passe et le confirme.

Je voudrais donc faire un truc dans le genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
exec('dsmod user "CN='.$_POST['login'].',OU=MON_OU,DC=EXEMPLE,DC=LAN" -pwd '.$_POST['password1']',$retour);
Quand je fait un Cela me retourne un array vide.

J'ai donc créée un fichier bat comme suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
# Ouverture en mode écriture
$fileopen=(fopen('C:\DATA\IIS\Protect_Soft\bat\\'.$_POST['login'].'.bat','a+'));
# Ecriture de "Début du fichier" dansle fichier bat
fwrite($fileopen,'dsmod user "CN='.$_POST['login'].',OU=MON_OU,DC=EXEMPLE,DC=LAN" -pwd '.$_POST['password1']);
# On ferme le fichier proprement
fclose($fileopen);
Le fichier se créer correctement, quand je l'execute en double clique sur le bat le mot de passe se change bien mais quand je l'execute comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
exec('C:\\DATA\\IIS\\Protect_Soft\\bat\\nom_de_mon_fichier.bat',$retour);
ou comme ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
exec('cd C:\\DATA\\IIS\\Protect_Soft\\bat\\ & nom_de_mon_fichier',$retour);
cela me retourne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
array(2) { [0]=> string(0) "" [1]=> string(90) "C:\DATA\IIS\Protect_Soft>dsmod user "CN=MON_USER,OU=MON_OU,DC=EXEMPLE,DC=LAN" -pwd MON_PASSWORD" }
mais ne change pas mon mot de passe.

Je ne comprend pas pourquoi...

J’espère que vous pourrez m'éclairé