Active directory récuperer la valeur de l'attribut qui représente la derniere mo
guillaume_perreux
Messages postés6Date d'inscriptionvendredi 20 mai 2005StatutMembreDernière intervention24 août 2005
-
23 août 2005 à 22:46
guillaume_perreux
Messages postés6Date d'inscriptionvendredi 20 mai 2005StatutMembreDernière intervention24 août 2005
-
24 août 2005 à 10:43
mon état =>
Bonjour tout le monde,
je remerci d'avance tous ceux qui pouront ou ne pouront pas m'aider !
....
a fin d'avertir les utilisateur de la date d'expiration de leur pwd,
je dois absolument récuperer la valeur de l'attribut ["pwdLastSet"]
dans l'Active Directory , le probleme, c'est que la valeur retourné est du type object alors que la valeur de l'attribut est de type LargeInteger ( voir (using) ActiveDs .dll)
soit j'ai une erreur de cast lors quand j'esseet de convertir l'objet object en LargeInteger,
LargeInteger liPasswdLastSet = Ldap.Properties["pwdLastSet"].Value as LargeInteger ;
soit j'ai une erreur de cast quand j'esseil d'utiliser les attribut du type LargeInteger avec un object !!!! (dans la methode)
long fileTime = LongFromLargeInteger(Ldap.Properties["pwdLastSet"].Value);//pas non-plus avec [0]
sebmafate
Messages postés4936Date d'inscriptionlundi 17 février 2003StatutMembreDernière intervention14 février 201437 24 août 2005 à 09:13
pourquoi faire si compliqué ?
il existe tout ce qu'il faut dans le Framework pour travailler avec ActiveDirectory... ok, faut gratter, mais c'est là
Donc, la premiere chose à faire, est d'ajouter l'assembly System.DirectoryServices.dll, ensuite dans ta classe ajoute la ligne suivante :
using System.DirectoryServices;
Maintenant, tu n'es plus obligé de faire de l'Interop pour utiliser ActiveDirectory
guillaume_perreux
Messages postés6Date d'inscriptionvendredi 20 mai 2005StatutMembreDernière intervention24 août 2005 24 août 2005 à 10:43
Merci !
mais j'utilise déja la dll ActiveDirectory... pour me connecter via
DirectoryEntry Ldap =
new DirectoryEntry("WinNT://"+
this.Context.User.Identity.Name.Replace("\","/"));
mais quand je fait:
if(Ldap.Properties["pwdLastSet"].Value==
null)lab8.Text += " pwdLastSet null
";
else lab8.Text += " pwdLastSet pas null
";
cela me retourne que la valeur est null !!!!!
mais je sais qu'ils l'utilisent, car quand je me connecte, "via Windows", la date de validitée est précisé!!!!!
a moin que je n'ai pas compris ce que tu voulais dire!
mais merci!