ARTICLE

Listing all Computer in Active Directory

Posted by John O Donnell Articles | Active Directory C# August 27, 2002
This application does one simple task. On any network where Microsoft Active Directory is used it will list all computers on the network. I faced this problem when I wanted to document all of the computers on the network using WMI .
Reader Level:
Download Files:
 

This application does one simple task. On any network where Microsoft Active Directory is used it will list all computers on the network. I faced this problem when I wanted to document all of the computers on the network using WMI .

One of the strengths of Active Directory is it allows you to create a representation of your organization. Imagine a large network spanning multiple physical locations with around 5000 computers for example.

In Active Directory I could have one folder or what Active Directory calls an OU or Organizational Unit. In that OU I could have all my computers listed. Of course realistically I would want to have multiple OUs to break up the list of computers. For instance I could have one OU per site. If that still left me with large amounts of computers in each OU I could then break it down by department etc. The advantage of doing this soft of thing is you could then assign an administrator for each OU.

My problem was assuming a scenario above, how would I get a list of all computers in an organizations Active Directory when they could be stored in OUs within OUs etc. Surely I dont have to write complex code to walk down an Active Directory tree with sub nodes etc? As it turns out there is a very simple solution to this problem. Each Active Directory entry has an objectClass property associated with it. Using this property allows me to search on just computers. I could also do the same for users etc.

I discovered this by outputting my companied Active Directory to a CSV file and then reading the data in Microsoft Excel.

Running the code below (assuming you have put in your own domain name) will list all the computers in your Active Directory. You could then feed the list to your networks DNS to get their IP addresses.

I love a simple solution J

Source Code:

//ActiveDirectorySearch1
//Displays all computer names in an Active Directory
using System;
using
System.DirectoryServices;
namespace
ActiveDirectorySearch1
{
class
Class1
{
static void Main (string
[] args)
{
//Note : microsoft is the name of my domain for testing purposes.
DirectoryEntry entry = new
DirectoryEntry(LDAP://microsoft);
DirectorySearcher mySearcher =
new
DirectorySearcher(entry);
mySearcher.Filter = ("(objectClass=computer)");
Console.WriteLine("Listing of computers
in
the Active Directory");
Console.WriteLine("============================================");
foreach(SearchResult resEnt in
mySearcher.FindAll())
{
Console.WriteLine(resEnt.GetDirectoryEntry().Name.ToString()); }
Console.WriteLine("=========== End of Listing =============");
}
}
}

Login to add your contents and source code to this article
post comment
     

Hi John, Thanks for the script. I am not a C# or a scripting guy. Would love to know how I could use this to get the list of computers from my AD domain. Your help would be appreciated!

Posted by Sam Frank Jun 24, 2007

Nice article ! How can I display/bind AD users into Data grid Any help will be appreciated in advance

Posted by ahmad hussain Mar 06, 2007

Dear Sir,

I would really appreciate if you can help me. I am a System Administrator, who is trying to make a windows application that can gives me all the information found about all the users in the domain (Active Directory). I want the code to be in C# language & I need it as soon as possible I still have tomorrow to finish from it. If you can help me please send me a sample code to my e-mail: k_f_diab@hotmail.com. Thank you in advance for your consideration.

Posted by karim diab Dec 02, 2006

Hi Vinosh.

Did you get the solution for this Problem?

Please reply me the solution bacause I am facing the same problem.

 

Warm Regards

Priyank kansal

 

 

Posted by Priyank Kansal Nov 27, 2006

Hi !

 

This works for me as I'm planning to build applications for our enterprise that will connect to every pc on the network and perform updates like copying and updating files, and so on...

I think I'm on the "right way" to do this stuf...

Thanks !

 

Roger Tranchez

 

Posted by roger Aug 01, 2006
COMMENT USING
PREMIUM SPONSORS
DynamicPDF™ product line allows you to dynamically generate PDF documents, merge PDF documents and add new content to existing PDF documents from within your applications.
Join a Chapter
SPONSORED BY
  • PDF reports have never been easier to create. With our included WYSIWYG Designer, you can layout your reports, set up your data source and let DynamicPDF ReportWriter do the rest.
Get Career Advice from Experts