Bonjour,
Je dois réaliser une petite appli qui permet d'activer/desactiver un compte utilisateur sur l'Active Directory d'un serveur distant, avec un systeme d'indicateur qui montre si le compte est activé ou non (plus ou moins en temps réel).
En premier lieu, j'ouvrai une connexion Telnet puis la fermait à chaque action (Activation-Desactivation-Consultation de l'état) et bien que tout fonctionnait, je trouvai ça trop lourd (enfin surtout trop lent) pour ce qui est de la consultation de l'état qui doit se faire toutes les 2-3 secondes.
J'ai donc décidé d'ouvrir une connexion Telnet au démarrage de l'appli et de ne la fermer qu'à la fermeture de celle-ci.
Seulement, quand je lance mes commandes DSMOD qui permettent l'activation et la désactivation : celà fonctionne impécable (compte bien activé/désactivé quand je vérifie sur l'AD) mais en ce qui concerne la commande DSGET (envoyée toutes les 3 secondes) qui me renvoi "yes" si le compte est désactivé et "non" si il est activé : elle me donne le bon statut au lancement de l'appli, mais continu à me renvoyer ce statut même après que celui-ci aie changé .
Voilà ce que j'obtiens dans la console Eclipse :
Welcome to Microsoft Telnet Service
login: administrateur
password: [1;1H*=============================================================== [2;1HBienvenue ? Microsoft Telnet Server. [3;1H*=============================================================== [4;1HC:\Documents and Settings\Administrateur> [5;1H[K[6;1H[K[7;1H[K[8;1H[K[9;1H[K[10;1H[K[11;1H[K[12;1H[K[13;1H[K[14;1H[K[15;1H[K[16;1H[K[17;1H[K[18;1H[K[19;1H[K[20;1H[K[21;1H[K[22;1H[K[23;1H[K[24;1H[K[25;1H[K[4;42HDSGET user "CN=test test, CN=Users, DC=[5;1HCDGEPBAI, DC=ADP, DC=FR" -disabled[6;1H[6;3Hdisabled[7;3Hyes[8;1Hdsget r?ussi[9;1H[10;1HC:\Documents and Settings\Administrateur>JE SUIS FERME, yes au char :356
CLOSED
DSGET user "CN=test test, CN=Users, DC=[11;1HCDGEPBAI, DC=ADP, DC=FR" -disabled[12;1H[12;3Hdisabled[13;3Hyes[14;1Hdsget r?ussi[15;1H[16;1HC:\Documents and Settings\Administrateur>JE SUIS FERME, yes au char :109
CLOSED
DSGET user "CN=test test, CN=Users, DC=[17;1HCDGEPBAI, DC=ADP, DC=FR" -disabled[18;1H[18;3Hdisabled[19;3Hyes[20;1Hdsget r?ussi[21;1H[22;1HC:\Documents and Settings\Administrateur>JE SUIS FERME, yes au char :109
CLOSED
DSMOD user "CN=test test, CN=Users, DC=[23;1HCDGEPBAI, DC=ADP, DC=FR" -disabled no[24;1Hdsmod r?ussi:CN=test test,CN=Users,DC=CDGEPBAI,DC=ADP,DC=FR[25;1H
C:\Documents and Settings\Administrateur>OUVERTURE
[K[25;42H[1;1HC:\Documents and Settings\Administrateur>CLOSED
DSGET user "CN=test test, CN=Users, DC=[2;1HCDGEPBAI, DC=ADP, DC=FR" -disabled [3;1H disabled [4;1H yes [5;1Hdsget r?ussi[6;1H[K[7;1HC:\Documents and Settings\Administrateur>JE SUIS FERME, yes au char :203
CLOSED
DSGET user "CN=test test, CN=Users, DC=[8;1HCDGEPBAI, DC=ADP, DC=FR" -disabled[9;1H disabled [10;1H yes [11;1Hdsget r?ussi[12;1H[K[13;1HC:\Documents and Settings\Administrateur>JE SUIS FERME, yes au char :174
CLOSED
DSGET user "CN=test test, CN=Users, DC=[14;1HCDGEPBAI, DC=ADP, DC=FR" -disabled[15;1H disabled [16;1H yes [17;1Hdsget r?ussi[18;1H[K[19;1HC:\Documents and Settings\Administrateur>JE SUIS FERME, yes au char :176
CLOSED
En rouge : le statut qui me dis que le compte est désactivé (disabled yes)
En vert : la commande d'activation qui réussi (vérif sur l'Active Directory, le compte est bien passé actif)
On voit bien que le DSGET me renvoi toujours yes après l'activation du compte ALORS QUE si au même moment, j'ouvre un invite de commande, me connecte en telnet et envoi la même commande, celle-ci me renvoi le bon statut,c'est à dire "disabled no".
Quelqu'un aurai une idée de ce qui pose problème ?
[PS : je vais publier les class de mon programme dans la suite du topic]