Bonjour,

j'ai un script php qui se connecte à l'Active Directory pour contrôler les dates d'expiration des comptes. Pour le moment je me contente de les afficher.

Quand je me connecte à la base de prod tout va bien : j'affiche les comptes et leurs dates.

Par contre sur la base de test je me connecte bien mais ça plante à l'exécution :
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
link_identifier : Resource id #4
connexion OK
autentification OK
domaine = COMMUNPREPROD
1
PHP Warning:  ldap_get_values(): supplied argument is not a valid ldap result entry resource in T:\ScriptPHPAD\prolongerValidite.php on line 225
 
Warning: ldap_get_values(): supplied argument is not a valid ldap result entry resource in T:\ScriptPHPAD\prolongerValidite.php on line 225
name :
PHP Warning:  ldap_get_values(): supplied argument is not a valid ldap result entry resource in T:\ScriptPHPAD\prolongerValidite.php on line 227
 
Warning: ldap_get_values(): supplied argument is not a valid ldap result entry resource in T:\ScriptPHPAD\prolongerValidite.php on line 227
accountExpires : 22-04-2009 ()
 
 
PHP Warning:  ldap_next_entry(): supplied argument is not a valid ldap result entry resource in T:\ScriptPHPAD\prolongerValidite.php on line 211
 
Warning: ldap_next_entry(): supplied argument is not a valid ldap result entry resource in T:\ScriptPHPAD\prolongerValidite.php on line 211
Notez la date affichée en plein milieu (ça marchote donc...).

Voici mon code :

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
 
/*------------------------------------------------------------------------
 * Entree(s) :
 *    - $result_identifier : resultat d'un ldap_search
 * Sortie(s) :
 *    - 
 * variable(s) globale(s) : 
 *    - $link_identifier (connection AD)
 *    - $nb_comptes 
 *------------------------------------------------------------------------
 * 
 * lit les donnée issue d'une recherche
 * 
 */ 
function annalyserInfo ($result_identifier)
{
    global $link_identifier ;
    global $nb_comptes ;
 
    $entry = ldap_first_entry($link_identifier, $result_identifier);
    controlerDate ($entry) ;
 
    $date = "" ;
    while ($next_entry = ldap_next_entry($link_identifier, $entry))
    {
        controlerDate ($next_entry) ;
        $entry = $next_entry ;
    }
}
 
function controlerDate ($entry)
{
    global $link_identifier ;
    global $nb_comptes ;
 
    $nb_comptes++ ;
    echo $nb_comptes."\n" ;
    $attr = ldap_get_values($link_identifier, $entry, "name");
    echo "name"." : ".$attr[0]."\n";
    $attr = ldap_get_values($link_identifier, $entry, "accountExpires");
    $date = convert_time ($attr[0]) ;
    echo "accountExpires"." : ".$date." (".$attr[0].")\n\n\n";
}
Merci de votre aide.

++Florent.