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 :

treeview active directory


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 treeview active directory
    Bonjour,
    Je suis perdu et j'ai besoin de comprendre quoi faire ou avoir des pistes.

    Je veux remplir un TreeView avec des infos d'AD.

    Exemple d'AD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    - Computers
        - Desktops
             - WinXP
                 - PC1234
                 - PC2345
             - Win7
                 - PC3456
                 - PC4567
        - Laptops
             - Internes
                  - PC5678             
             - Vendeurs
    J'ai réussi à récupérer chacun des OU mais je n'arrive pas à reproduire l'arborescence comme mentionné ci-haut.

    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
    Bonjour,

    Afin que l'on puisse t'aider, il faudrait que tu postes plus de details que mentionnes actuellement et aussi ton code afin que l'on puisse determiner ce qui ne va pas.

  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,

    Voici ce que j'utilise à la base, j'obtiens tous les OU mais au même niveau.
    Je n'arrive pas à saisir comment prendre "l'enfant" et l'accrocher à son parent. etc.
    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
     
            private void LoadTreeView(string strOU)
            {
                DirectoryEntry de = new DirectoryEntry(strOU);
                TreeNode tv = new TreeNode();
     
                foreach (DirectoryEntry DirEntry in de.Children)
                {
                    if (DirEntry != null)
                    {
                        tvAD.Nodes.Add(DirEntry.Name.ToString().Remove(0, 3));
                        LoadTreeView(DirEntry.Path.ToString());
                    }
                }

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    Voilà, j'ai fini par trouver comment à partir d'un LDAP, récupérer les OU et sous OU. Cependant, ce n'est pas optimal car notre Active Directory est un montre. Je vais devoir optimiser l'utilisation.

    Voici le code si ça peut rendre service :

    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
            private void BuildTreeView(string strOU)
            {
                DirectoryEntry de = new DirectoryEntry(strOU);
                DirectorySearcher search = new DirectorySearcher(de);
                search.Filter = "(ObjectCategory=organizationalUnit)";            
     
                TreeNode treeRoot = new TreeNode(de.Name.Remove(0, 3));                
                tvAD.Nodes[0].Nodes.Add(treeRoot);
                tvAD.Refresh();                
                AddChildNode(de, treeRoot);
            }
            private void AddChildNode(DirectoryEntry entry, TreeNode node)
            {
                foreach (DirectoryEntry dire in entry.Children)
                {                
                    TreeNode ChildNode = new TreeNode(dire.Name.Remove(0, 3));
                    node.Nodes.Add(ChildNode);
                    AddChildNode(dire, ChildNode);       
                }            
            }

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 152
    Par défaut
    J'ouvre à nouveau cette discussion.

    Je tente de récupérer les élement sélectionnés... J'ai un treeview Checkbox.

    Après avoir selectionné un, ou deux, peu importe le nombre des enfants, je veux récupérer tous ceux qui ont été sélectionnés.

    Merci de votre aide.

    Ex:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Root
     - Parent1
          - Enfant1
          - Enfant2
          - Enfant3
          - Enfant4

Discussions similaires

  1. [C#] Active directory LDAP
    Par Gauden dans le forum Windows Forms
    Réponses: 9
    Dernier message: 02/05/2005, 13h57
  2. Package permettant d'interroger l'active directory
    Par gracouille dans le forum Modules
    Réponses: 5
    Dernier message: 18/08/2004, 10h59
  3. [AD]Mise en place de Active Directory
    Par guiguisi dans le forum Windows Serveur
    Réponses: 9
    Dernier message: 29/07/2004, 08h50
  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