IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Probleme recuperation dates active directory


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 35
    Points
    35
    Par défaut Probleme recuperation dates active directory
    Salut a tous, je galère sur un truc qui doit etre tout bete

    Je récupère des infos venant d'active directory sur le réseau de ma boite. La plupart des propriétés d'un utilisateurs sont simples a récupérer.

    DirectoryEntry DE = new DirectoryEntry("LDAP://CN=UnUtilisateur,OU=OU-UTILISATEURS,OU=OU-INFORMATIQUE,DC=fonctionnel");
    string nom = DE.Properties["Name"].value;

    Bon jusque la tout va bien. Par contre quand je veux récupérer une date, c'est la misère !!!
    DateTime date = DE.Properties["LastLogon"].value; -> ne marche pas
    string date = DE.Properties["LastLogon"].value.toString(); -> renvoie "System.__ComObject"


    Arg, je vous en prie, comment récupérer cette info ?


    Merci d'avance.

  2. #2
    Membre actif Avatar de Luffy49
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    399
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 399
    Points : 247
    Points
    247
    Par défaut
    Moi aussi je travail sur la connexion c#/AD

    très bon tutoriel en vb

    Mais j'ai aussi des propriétés que je n'arrive pas a remonter comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DirEntry.Properties["initials"].Value.ToString();
    DirEntry.Properties["telephoneNumber"].Value.ToString();
    La connaissance n'est rien si elle n'est pas partagé

    Citation de Confucius :
    Ceux dont la connaissance est innée sont des hommes tout à fait supérieurs. Puis viennent ceux qui acquièrent cette connaissance par l'étude. Enfin, ceux qui, même dans la détresse, n'étudient pas : c'est le peuple.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 35
    Points
    35
    Par défaut
    effectivement, le tuto est tres bon, mais ca m'en dit pas plus quant a la façon de récupérer cette fichue date.

    C'est marrant, les recherches que j'ai fait me font toujours tomber sur des cours ou des tutos qui parlent de tout sauf de ca, comme si tout le monde esquivait le sujet

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Il existe une technique pour trouver la vrai valeur d'un COMObject: http://www.mztools.com/articles/2006/MZ013.htm

    Sinon, cela pourra p-e vous être utile: http://www.codeproject.com/cs/system...select=2118035


    A+

  5. #5
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 35
    Points
    35
    Par défaut
    le premier lien est pas mal, hélas, ca n'a pas l'air de fonctionner en C#

  6. #6
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Points : 118
    Points
    118
    Par défaut
    Perso, j'utilise ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    DateTime basis = new DateTime(1601,1,1,0,0,0,0);
    // On transforme le timestamp qui est exprime 
    // en centaine de nanosecondes (ouais, c'est comme ça...)
    // afin qu'il soit exprime en milliseconds
     
    double timeStamp = Math.Floor(Double.Parse(DE.Properties["lastLogonTimestamp"].Value)/ 10000.0);
     
    // DateTime du lastLogon
    DateTime lastLogonDate = basis.AddMilliseconds(timeStamp);
    Attention toutefois : si les DCs sont répliqués, ce paramètre est local à chacun et n'est répliqué qu'une fois tous les N jours (afin de ne pas surcharger le traffic réseau). Donc, tu n'es pas sûr que l'info que tu récupères est correcte...

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 19
    Points : 35
    Points
    35
    Par défaut
    ca ne marche pas ici.

    La méthode surchargée correspondant le mieux à 'double.Parse(string)' possède des arguments non valides

  8. #8
    Membre régulier
    Inscrit en
    Mai 2002
    Messages
    101
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mai 2002
    Messages : 101
    Points : 118
    Points
    118
    Par défaut
    Ah ben je sais pas trop quoi te dire, j'utilise ça depuis bientôt 2 ans Avec un ADSIEdit, on peut voir la valeur de cet attribut qui est un Large Integer / Interval.

    Quel est la classe de ton utilisateur ? User ? Parce que cet attribut est lié à la classe User et dérivés...

    Bref, je vois pas trop...

  9. #9
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Citation Envoyé par elpaulo
    le premier lien est pas mal, hélas, ca n'a pas l'air de fonctionner en C#

    Heu si, je l'ai déjà utilisé en C# et cela fonctionne parfaitement....

Discussions similaires

  1. Probleme samba Vs active directory
    Par magopala dans le forum Réseau
    Réponses: 0
    Dernier message: 20/08/2008, 11h38
  2. probleme recuperation date tableau excel
    Par fchaptal dans le forum Général Dotnet
    Réponses: 5
    Dernier message: 28/06/2008, 15h03
  3. probleme de réplication active directory "tombstone timelife"
    Par nsm_a dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 14/05/2008, 09h37
  4. Recuperer Mail, Active Directory
    Par GoneMargino dans le forum C++
    Réponses: 1
    Dernier message: 22/03/2006, 16h58
  5. Probleme de restauration Active Directory
    Par RA dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 30/12/2005, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo