Un peu de mon expérience dans le monde .NET
# Tuesday, July 15, 2008
Extraire les utilisateurs d'un groupe dans Active Directory

Voici un exemple de code afin d'accèder aux membres d'un groupe dans l'AD ...

                String ADFullPath = LDAP://NomDeLAD;
                DirectoryEntry Ldap = new DirectoryEntry(ADFullPath);
                DirectorySearcher searcher = new DirectorySearcher(Ldap);

                searcher.Filter = "(&(objectClass=group)(cn=" + GroupName + "))";

                SearchResult results = searcher.FindOne();

                if (results != null)
                {

                    DirectoryEntry AdGroup = new DirectoryEntry(results.Path);
                    System.DirectoryServices.PropertyCollection pcoll = AdGroup.Properties;
                    int n = pcoll["member"].Count;

                    for (int l = 0; l < n; l++)
                    {

                        DirectoryEntry AdUser = new DirectoryEntry(ADFullPath + "/" + pcoll["member"][l].ToString());

                        TreeNode tn = new TreeNode(AdUser.Properties["name"].Value.ToString());
                        tvwMembres.Nodes.Add(tn);

                        TreeNode tn1 = new TreeNode(AdUser.Properties["description"].Value.ToString());
                        tn1.ImageIndex = 2;
                        tn1.SelectedImageIndex = tn1.ImageIndex;
                        tn1.ToolTipText = "description";
                        tn.Nodes.Add(tn1);

                        TreeNode tn2 = new TreeNode(AdUser.Properties["sAMAccountName"].Value.ToString());
                        tn2.ImageIndex = 1;
                        tn2.SelectedImageIndex = tn2.ImageIndex;
                        tn2.ToolTipText = "Account Name";
                        tn.Nodes.Add(tn2);

                        TreeNode tn3 = new TreeNode(AdUser.Properties["mail"].Value.ToString());
                        tn3.ImageIndex = 3;
                        tn3.SelectedImageIndex = tn3.ImageIndex;
                        tn3.ToolTipText = "Mail";
                        tn.Nodes.Add(tn3);

                        TreeNode tn4 = new TreeNode(AdUser.Properties["physicalDeliveryOfficeName"].Value.ToString());
                        tn4.ImageIndex = 4;
                        tn4.SelectedImageIndex = tn4.ImageIndex;
                        tn4.ToolTipText = "Office Name";
                        tn.Nodes.Add(tn4);

                        AdUser.Close();
                    }
                    Ldap.Close();
                    AdGroup.Close();

 


Tuesday, July 15, 2008 2:22:19 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0]  C# | Active Directory