ottenendo un errore:ldap_mod_replace() [function.ldap-mod-sostituire]: Modifica: Il server non è disposto a svolgere
Server is unwilling to perform
mentre cambiando unicodePwd in AD tramite PHP. Tuttavia, sono in grado di cercare, aggiungere, rimuovere e modificare qualsiasi attributo degli utenti.
L'utilizzo dell'account amministratore per associare e amministrare ha i diritti per modificare le password di tutti gli utenti.
Ecco il codice che sto utilizzando:
<?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);
?>
Grazie mille David, ma sono un po 'confuso. Quando ho provato a utilizzare la connessione SSL, (ldaps: //) non si associa nemmeno con l'annuncio. Voglio dire, dovrei aver bisogno di fare qualcosa per abilitare il supporto SSL in Apache o PHP? Se sì, come posso farlo. –
non dovrebbe "{$ newpassword {$ i}} \ 000" essere "{$ newpassword [$ i]} \ 000" cioè parentesi quadre invece di ricci? – redreinard