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#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    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 très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    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'.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    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 très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

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

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Par défaut
    Pourrais-tu mettre le code complet dans lequel se trouve la condition if ?

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    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 confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    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