c#遍歷活動目錄

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語句訪問集合中的所有對象,獲得對象的信息。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章