PHP et active directory, erreur
Résolu
Archeus01
Messages postés
1572
Date d'inscription
Statut
Membre
Dernière intervention
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
A voir également:
- PHP et active directory, erreur
- Directory list & print - Télécharger - Divers Utilitaires
- Erreur 0x80070643 - Accueil - Windows
- Corriger l'erreur 0x80070643 de la mise à jour KB5034441 de Windows 10 - Accueil - Windows
- Erreur 5000 france tv - Forum iPhone
- Pass telecommande active - Forum Téléviseurs
3 réponses
Bon, j'ai fini par résoudre mon problème \o/ après 8h de boulot dessus.
$ds = ldap_connect("ldap://"."asterix."."gaulois.lan") or die("Erreur de connexion à AD!");
if ($ds) {
// Connexion avec une identité qui permet les modifications
if (ldap_bind($ds, "administrateur", "mdp")) {echo RL."identification ok".RL; }
else { echo RL."Problème d'identification ";}
// On va chercher l'identifiant DN exact de la personne à modifier.
//On indique ce qu'il faut pour recherhcer
//La présence des intiales est uniquement la comme test.
$dn = "OU=Utilisateurs,DC=gaulois,DC=lan";
$person="fred";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("dn","initials");
//On lance la recherche
$sr=ldap_search($ds, $dn, $filter, $justthese);
//On cherche dans le résultat le dn
$info = ldap_get_entries($ds, $sr);
//var_dump($info);
$dn = $info[0]['dn'];
if (is_null(($info[0]['initials'][0])) == false) {$initiale = $info[0]['initials'][0];echo "défini";}
else { $initiale ="";echo "pas défini"; }
//Echo qui permet de tester, RL est un retour à la ligne
echo RL."dn : $dn";
echo RL."initial : $initiale".RL;
//On initialise ce qu'il faut modifier
$mod['initials'][0]="pm";
$mod['thumbnailPhoto']=$contents;
ldap_modify ( $ds,$dn, $mod ); //on modifie
ldap_close($ds); //On oublie pas de fermer
} else {
echo RL.'Impossible de se connecter au serveur LDAP';
}
$ds = ldap_connect("ldap://"."asterix."."gaulois.lan") or die("Erreur de connexion à AD!");
if ($ds) {
// Connexion avec une identité qui permet les modifications
if (ldap_bind($ds, "administrateur", "mdp")) {echo RL."identification ok".RL; }
else { echo RL."Problème d'identification ";}
// On va chercher l'identifiant DN exact de la personne à modifier.
//On indique ce qu'il faut pour recherhcer
//La présence des intiales est uniquement la comme test.
$dn = "OU=Utilisateurs,DC=gaulois,DC=lan";
$person="fred";
$filter="(|(sn=$person*)(givenname=$person*))";
$justthese = array("dn","initials");
//On lance la recherche
$sr=ldap_search($ds, $dn, $filter, $justthese);
//On cherche dans le résultat le dn
$info = ldap_get_entries($ds, $sr);
//var_dump($info);
$dn = $info[0]['dn'];
if (is_null(($info[0]['initials'][0])) == false) {$initiale = $info[0]['initials'][0];echo "défini";}
else { $initiale ="";echo "pas défini"; }
//Echo qui permet de tester, RL est un retour à la ligne
echo RL."dn : $dn";
echo RL."initial : $initiale".RL;
//On initialise ce qu'il faut modifier
$mod['initials'][0]="pm";
$mod['thumbnailPhoto']=$contents;
ldap_modify ( $ds,$dn, $mod ); //on modifie
ldap_close($ds); //On oublie pas de fermer
} else {
echo RL.'Impossible de se connecter au serveur LDAP';
}
Salut,
Je crois qu'Active Directory est un ldap un peu spécial.
Regarde un petit exemple:
https://phpsources.net/
Je crois qu'Active Directory est un ldap un peu spécial.
Regarde un petit exemple:
https://phpsources.net/