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 :
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 :
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 :
exec('C:\\DATA\\IIS\\Protect_Soft\\bat\\nom_de_mon_fichier.bat',$retour);
ou comme ça :
exec('cd C:\\DATA\\IIS\\Protect_Soft\\bat\\ & nom_de_mon_fichier',$retour);
cela me retourne :
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é
Partager