由于操纵活动目录的类都存放在System.DirectoryServices.dll文件里。所以在项目中添加对它的引用。 
   
Sample:
   
  namespace ADsample 
   
  { 
   
   /// <summary> 
   
   /// Summary description for Class1. 
   
   /// </summary> 
   
   class Class1 
   
   { 
   
   static void Main(string[] args) 
   
   { 
   
   // 
   
   // TODO: Add code to start application here 
   
   // 
   
   GetAllOU(); 
   
   Console.ReadLine(); 
   
   } 
   
   
   
   //获取目录中需要的组织单元(OU) 
   
   public static void GetAllOU() 
   
   { 
   
   DirectoryEntry entry = new DirectoryEntry("LDAP://szcs"); 
   
   
   
   DirectorySearcher mySearcher = new DirectorySearcher(entry); 
   
   
   
   mySearcher.Filter = ("(objectClass=organizationalUnit)"); 
   
   
   
   foreach(SearchResult resEnt in mySearcher.FindAll()) 
   
   { 
   
   Console.Write(resEnt.GetDirectoryEntry().Name.ToString()); 
   
   
   
   Console.WriteLine("\t"resEnt.GetDirectoryEntry().Name.ToString()); 
   
   }//end foreach 
   
   }//end GetAllOU 
   
   }//end class 
   
  }//end namespace 
   
   
   
  程序注解: 
   
  ü 程序开始,实例化了一个DirectoryEntry类,其构造函数的参数是"LDAP://szcs",这里szcs是域名。 
   
  ü 然后又实例化了一个DirectorySearcher类,用来查询szcs域中活动目录中的信息,其构造函数的参数是一个DirectoryEntry类的实例对象。 
   
  ü DirectorySearcher类的Filter属性用来设置查询的过滤条件,一般有以下三种: 
   
  1. objectClass=organizationalUnit 查询条件是所有的组织单元(OU) 
   
  2. objectClass=group 查询条件是所有的组(GROUP) 
   
  3. objectClass=user 查询条件是所有的用户(USER) 
   
  当然还可以设置其他的过滤条件,而且可以使用逻辑运算符,详情请参加MSDN 
   
  ü DirectorySearcher类的Findall方法用来递归的查找所有符合条件的对象。其返回结果 
   
  是一个SearchResult类型的对象,这是一个集合类型。 
   
  ü 用Foreach语句访问集合中的所有对象,获得对象的信息。