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 :
Quand je fait unCode:exec('dsmod user "CN='.$_POST['login'].',OU=MON_OU,DC=EXEMPLE,DC=LAN" -pwd '.$_POST['password1']',$retour);
Cela me retourne un array vide.Code:var_dump($retour);
J'ai donc créée un fichier bat comme suit :
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:
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);
ou comme ça :Code:exec('C:\\DATA\\IIS\\Protect_Soft\\bat\\nom_de_mon_fichier.bat',$retour);
cela me retourne :Code:exec('cd C:\\DATA\\IIS\\Protect_Soft\\bat\\ & nom_de_mon_fichier',$retour);
mais ne change pas mon mot de passe.Code: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" }
Je ne comprend pas pourquoi...
J’espère que vous pourrez m'éclairé :D