Bonjour,

Voici mon code qui fonctionne très bien :

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
private void GetSecurityGroups()
        {  
            //Connection to Active Directory             
            DirectoryEntry Ldap = new DirectoryEntry(sLDAP);
            DirectorySearcher CN_searcher = new DirectorySearcher(Ldap);
            CN_searcher.Filter = "(objectCategory=organizationalUnit)"; 
            CN_searcher.Sort.PropertyName = ("name");
            CN_searcher.PageSize = 100;
            CN_searcher.Sort.Direction = System.DirectoryServices.SortDirection.Ascending;
 
            foreach (SearchResult OUResult in CN_searcher.FindAll())
            {
                DirectoryEntry DirEntry = OUResult.GetDirectoryEntry();
                ddADSecGroup.Items.Add(DirEntry.Properties["name"].Value.ToString());
                CN_searcher = null;
                //break;
            }            
        }
Ce que je souhaite c'est d'ontenir que le premier niveau. Supposons que j'ai la structure suivante dans Active Directory

Domain.com
- Adobe
- Flash
- Reader
- Microsoft
- Office
- Communicator
- Symantec
- Wise

Avec le code précédent, j'obtiens la totalité des OU, mais je voudrais avoir seulement Adobe, Microsoft, Symantec.

Qu'est-ce qui me manque ?

Merci