Solved

Mimic AD in a TreeView through C#

Posted on 2008-06-18
3
1,781 Views
Last Modified: 2008-09-03
What I'm trying to do is query our Domain Controller for all of the Active Directory objects and mimic that view in a C# TreeView. The code I attached below ~works~ but it takes forever to load and hogs up system resources. Is there a simpler way to do this? I just need to make the TreeView look exactly like AD (Ou's, users' computer's, etc). Is there a better way to do this than below?


private static TreeNode RecursiveComputeLeafNodes(String ou, TreeNode nodes)
        {
            DirectoryEntry entry = new DirectoryEntry();
            if (ou.Equals(""))
                entry = new DirectoryEntry("LDAP://dc=corp,dc=pizzagalli,dc=com");
            else 
                entry = new DirectoryEntry(ou);
            //DirectorySearcher mySearcher = new DirectorySearcher(entry);
            //mySearcher.Filter = "(objectClass=computer)";
            foreach (System.DirectoryServices.DirectoryEntry child in entry.Children)
            {
                if (child.Properties.Count != 0)
                {
                    TreeNode newTreeNode = new TreeNode(child.Name.ToString().Remove(0,3));
                    nodes.Nodes.Add(RecursiveComputeLeafNodes(child.Path.ToString(), newTreeNode));
                }
                else
                {
                    String treeName = child.Name.ToString().Remove(0, 3);
                    nodes.Nodes.Add(new TreeNode(treeName));
                }
            }
            return nodes;
        }

Open in new window

0
Comment
Question by:invisiblekhaos2
3 Comments
 
LVL 83

Accepted Solution

by:
oBdA earned 400 total points
ID: 21816139
Probably; I'm not a programmer, but you might have a look at these for starters, as they might keep you from reinventing the wheel:

Directory Object Picker
http://msdn.microsoft.com/en-us/library/ms675899(VS.85).aspx

Using the Windows 2000/XP Object Selection Dialog
http://www.codeproject.com/KB/winsdk/bfobjectselection2.aspx?display=Print
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Find out how to use Active Directory data for email signature management in Microsoft Exchange and Office 365.
The article shows the basic steps of integrating an HTML theme template into an ASP.NET MVC project
This tutorial will walk an individual through the process of configuring their Windows Server 2012 domain controller to synchronize its time with a trusted, external resource. Use Google, Bing, or other preferred search engine to locate trusted NTP …
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

823 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question