Obtención de un error:LDAP_MOD_REPLACE() [function.ldap-mod-REPLACE]: Modificar: Servidor no está dispuesto a realizar
Server is unwilling to perform
mientras cambia unicodePwd en AD a través de PHP. Sin embargo, puedo buscar, agregar, eliminar y modificar cualquier atributo de los usuarios.
Uso de la cuenta de administrador para vincular y el administrador tiene todos los derechos para cambiar las contraseñas de los usuarios.
Aquí está el código que estoy usando:
<?php
$dn = "CN=Vishal Makwana,OU=Address Book,DC=example,DC=com";
$ad = ldap_connect("ldap://example.com")
or die("Couldn't connect to AD!");
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
$bd = ldap_bind($ad,"[email protected]","admin1");
if($bd) {
echo "AD bind successfully";
}
else {
echo "Couldn't bind AD";;
}
$user["unicodePwd"] = "asdf1234";
$result = ldap_mod_replace($ad, $dn, $user);
if ($result) echo "User modified!"; else
echo "There was a problem!";
ldap_unbind($ad);
?>
Muchas gracias David, pero estoy un poco confundido. Cuando intenté usar la conexión SSL, (ldaps: //) ni siquiera se vincula con AD. Quiero decir, ¿debería hacer algo para habilitar el soporte SSL en Apache o PHP? Si es así, ¿cómo puedo hacer eso? –
no debería "{$ newpassword {$ i}} \ 000" ser "{$ newpassword [$ i]} \ 000" es decir, corchetes en lugar de rizados? – redreinard