Bonjour,

Nous sommes sur une AD Win2000 et je dois faire une nouvelle interface de déverouillage des comptes users, malgrés de nombreuses recherches sur le net je n'en ai pas trouvé en php avec la librairie ldap, je l'ai déjà faite en auto-it qui fonctionne trés bien et j'aimerais donc la portée en php.

j'ai un code qui me permet de trouver un compte dans un annuaire LDAP
le voici :

index.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
<form action="action.php" method="post">
 <p>Saisir un nom d'utilisateur : <input type="text" name="username" /></p>
 <p><input type="submit" value="check"></p>
</form>
action.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
<?php
// Eléments d'authentification LDAP
$ldaprdn  = 'admindudomaine';     // DN ou RDN LDAP
$ldappass = 'motdepasse';  // Mot de passe associé
 
// Connexion au serveur LDAP
$ldapconn = ldap_connect("NomduserveurAD.domain.region")
    or die("Impossible de se connecter au serveur LDAP.");
 
if ($ldapconn) {
 
    // Connexion au serveur LDAP
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
 
    // Vérification de l'authentification
    if ($ldapbind) {
        echo "Connexion LDAP réussie..."."<br><br>";
 
    $dn = "DC=domain,DC=FR";
    $person = $_POST['username'];
    $filtre="(|(sn=$person*)(cn=$person*))";
    $restriction = array( "cn", "sn", "mail");
    $sr=ldap_search($ldapconn, $dn, $filtre, $restriction);
    $info = ldap_get_entries($ldapconn, $sr);
    print $info["count"]." enregistrements trouves"."<br><br>";
 
echo  "Affichage des données des ".$info["count"]. " entrées trouvées :"."<br><br>";
 
echo "<table>";
       for ($i=0; $i<$info["count"]; $i++)
           {
                echo "<tr>";
        echo  "<td>".$info[$i]["dn"]."</td>";
        echo  "Nom (sn) : ". $info[$i]["sn"][0] . "<br>";
        echo  "Prénom (cn) : ". $info[$i]["cn"][0] . "<br>";
                echo  "<td>".$info[$i]["cn"][0]."</td>";
 
                echo "</tr>"; 
                   }
 
     //  echo  "<p> ... Fermeture de la connexion";
 
    ldap_close($ldapconn);
    } else {
        echo "Connexion LDAP échouée...";
    }
}
echo "</table>";
 
?>
Malheureusement pour moi pour obtenir le "isaccountlocked" d'un compte
il faut une methode que je ne maitrise pas en php...

en C on utilises le

.properties["propriété"].value.

puis un

.InvokeGet("IsAccountLocked");
qui retourne un booléen précisant si le compte est vérouillé ou non.

Mais en php/LDAP je n'arrive pas à retrouver l'équivalent.

est-ce :

. ldap_get_attributes
. ldap_get_dn
. ldap_get_entries
. ldap_get_option
. ldap_get_values_len
. ldap_get_values

Parmis vous quelqu'un saurait il faire la ligne de code qui permettrait de remonter cette info... et de la modifier pour déverrouiller le compte.

Un grand merci par avance