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 :

Active Directory Computer Description [Débutant]


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Points : 56
    Points
    56
    Par défaut Active Directory Computer Description
    Bonjour,

    Je souhaite récupérer le champ "description" d'un PC dans AD.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (DirEntry.Properties["description"] != null)
    {                                
       lvitem.SubItems.Add(DirEntry.Properties["description"].Value.ToString());
    }
    else
    {
       lvitem.SubItems.Add("null");
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectEntry.Properties["description"]  = null
    Si le champ a une description, alors ça fonctionne. S'il n'y a pas de description, ma valeur est à null (dans le debug je peux le confirmer). Le programme plante avec un "Object reference not set to an instance of an object.". Pourtant, la valeur est bien à null....

    Qu'est-ce que je ne comprends pas ?
    Merci

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    Salut,

    je pense que tu essayes d'ajouter un null dans ta liste d'items et non un objet qui aurait la valeur 'null'.
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Points : 56
    Points
    56
    Par défaut
    Bonjour,

    Désolé, je ne saisi pas !

    Je n'ajoute rien, je vérifie si la description est null, si oui je retourne "null", sinon, je retourne la description.

    Merci

  4. #4
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Points : 372
    Points
    372
    Par défaut
    Pourrais-tu mettre le code complet dans lequel se trouve la condition if ?
    Vous avez la réponse à votre question ? Mettez votre sujet en

    Une personne vous a correctement aidé ? Cliquez sur le

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Points : 56
    Points
    56
    Par défaut
    Voici un extrait :

    Merci

    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
     
     
    private void BckWrk_DoWork(object sender, DoWorkEventArgs e)
            {
                int i = 0;            
                string txt = txtPC.Text;
                string[] PClist = txt.Split(new Char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
     
                BackgroundWorker worker = sender as BackgroundWorker;
     
                for (int j = 1; j <= PClist.Length; j++)
                {
                    ListViewItem lvitem = new ListViewItem(PClist[i].Trim());
                    DirectoryEntry DirectEntry = new DirectoryEntry("LDAP://...");
                    DirectorySearcher PC_searcher = new DirectorySearcher(DirectEntry);
                    PC_searcher.Filter = "(&(ObjectCategory=computer)(cn=" + PClist[i] + "))";
                    PC_searcher.PropertiesToLoad.Add("name");
                    PC_searcher.PropertiesToLoad.Add("description");
                    PC_searcher.PropertiesToLoad.Add("lastlogonTimestamp");                  
     
                    foreach (SearchResult res in PC_searcher.FindAll())
                    {                        
                        DirectoryEntry DirEntry = res.GetDirectoryEntry();
                        if (DirEntry.Properties["description"] != null)
                        {
                             lvitem.SubItems.Add(DirEntry.Properties["description"].Value.ToString());
                        }                                                                                                       else
                        {
                             lvitem.SubItems.Add("null");
                        }
                    AppendText(lvitem);                            
                    }
                 }
                 Thread.Sleep(500);
                 int PercentCompleted = (int)((float)j / (float)PClist.Length * 100);
                 worker.ReportProgress(PercentCompleted);
                 i++;
            }        
            BckWrk.Dispose();
        }

  6. #6
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Points : 56
    Points
    56
    Par défaut
    Avoir les deux yeux dans le même trou, c'est ce que cela donne
    Voir en rouge... ce que j'ai oublié.
    Merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if (DirEntry.Properties["description"].Value != null)
                        {
                             lvitem.SubItems.Add(DirEntry.Properties["description"].Value.ToString());
                        }                                                                                                       else
                        {
                             lvitem.SubItems.Add("null");
                        }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 09/06/2008, 08h55
  2. Réponses: 2
    Dernier message: 27/09/2006, 14h22
  3. [C#] Active directory LDAP
    Par Gauden dans le forum Windows Forms
    Réponses: 9
    Dernier message: 02/05/2005, 13h57
  4. Réponses: 4
    Dernier message: 17/05/2004, 09h57
  5. Active directory
    Par m.schar dans le forum Développement
    Réponses: 5
    Dernier message: 22/03/2004, 10h30

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