自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

介紹C# DirectorySearcher類

開發(fā) 后端
本文見簡(jiǎn)要介紹一下如何使用這些C# DirectorySearcher類來讀取活動(dòng)目錄中的信息。在.Net環(huán)境下操縱活動(dòng)目錄非常容易,其中提供了很多封裝好的類用來操縱活動(dòng)目錄。

Windows 2000 Server在Windows NT Server 4.0的基礎(chǔ)上,進(jìn)一步發(fā)展了"活動(dòng)目錄(Active Directory)".活動(dòng)目錄是從一個(gè)數(shù)據(jù)存儲(chǔ)開始的。它采用了類似Exchange Server的數(shù)據(jù)存儲(chǔ),稱為:Extensible Storage Service (ESS)。其特點(diǎn)是不需要事先定義數(shù)據(jù)庫(kù)的參數(shù),可以做到動(dòng)態(tài)地增長(zhǎng),性能非常優(yōu)良。這個(gè)數(shù)據(jù)存儲(chǔ)之上已建立索引的,可以方便快速地搜索和定位。活動(dòng)目錄的分區(qū)是"域(Domain)",一個(gè)域可以存儲(chǔ)上百萬的對(duì)象。域之間還有層次關(guān)系,可以建立域樹和域森林,無限地?cái)U(kuò)展。

活動(dòng)目錄充分體現(xiàn)了微軟產(chǎn)品的"ICE",即集成性(Integration),深入性(Comprehensive),和易用性(Ease of Use)等優(yōu)點(diǎn)?;顒?dòng)目錄是一個(gè)完全可擴(kuò)展,可伸縮的目錄服務(wù),既能滿足商業(yè)ISP的需要,又能滿足企業(yè)內(nèi)部網(wǎng)和外聯(lián)網(wǎng)的需要。

在.Net環(huán)境下操縱活動(dòng)目錄非常容易,其中提供了很多封裝好的類用來操縱活動(dòng)目錄,這些類都存放在System.DirectoryServicess名稱空間里。本文見簡(jiǎn)要介紹一下如何使用這些C# DirectorySearcher類來讀取活動(dòng)目錄中的信息。

注:我們假設(shè)您已經(jīng)對(duì)活動(dòng)目錄的概念有了基本的了解。

我的網(wǎng)絡(luò)環(huán)境由兩個(gè)域控制器,和數(shù)臺(tái)win2000工作站組成,安裝了活動(dòng)目錄用來保存域里的一切信息,域名是szcs.

下面我們開始建立一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用程序,來讀取活動(dòng)目錄的信息。

***步:建立項(xiàng)目

第二步:添加引用
由于操縱活動(dòng)目錄的類都存放在System.DirectoryServices.dll文件里。所以,我們必須在項(xiàng)目中添加對(duì)它的引用。
方法:在菜單中,選擇 項(xiàng)目-引用,選擇System.DirectoryServices.dll,確定。

第三步:引用名稱空間
方法:在程序的開頭出添加下面程序

  1. using System.DirectoryServices; 

第四步:編寫程序
下面是一個(gè)范例程序

  1. namespace ADsample{  
  2. ///  
  3. /// Summary description for Class1.  
  4. ///  
  5. class Class1{  
  6. static void Main(string[] args){  
  7. //  
  8. // TODO: Add code to start application here  
  9. GetAllOU();  
  10. Console.ReadLine();  
  11. }  
  12. //獲取目錄中需要的組織單元(OU)  
  13. public static void GetAllOU(){  
  14. DirectoryEntry entry = new DirectoryEntry("LDAP://szcs");  
  15. DirectorySearcher mySearcher = new DirectorySearcher(entry);  
  16. mySearcher.Filter = ("(objectClass=organizationalUnit)");  
  17. foreach(SearchResult resEnt in mySearcher.FindAll()){  
  18. Console.Write(resEnt.GetDirectoryEntry().Name.ToString());  
  19. Console.WriteLine("\t"resEnt.GetDirectoryEntry().Name.ToString());  
  20. }//end foreach  
  21. }//end GetAllOU  
  22. }//end class  
  23. }//end namespace 

程序注解:
◆程序開始,實(shí)例化了一個(gè)DirectoryEntry類,其構(gòu)造函數(shù)的參數(shù)是"LDAP://szcs",這里szcs是域名。
◆然后又實(shí)例化了一個(gè)C# DirectorySearcher類,用來查詢szcs域中活動(dòng)目錄中的信息,其構(gòu)造函數(shù)的參數(shù)是一個(gè)DirectoryEntry類的實(shí)例對(duì)象。
◆C# DirectorySearcher類的Filter屬性用來設(shè)置查詢的過濾條件,一般有以下三種:
1. objectClass=organizationalUnit 查詢條件是所有的組織單元(OU)
2. objectClass=group 查詢條件是所有的組(GROUP)
3. objectClass=user 查詢條件是所有的用戶(USER)

當(dāng)然還可以設(shè)置其他的過濾條件,而且可以使用邏輯運(yùn)算符,詳情請(qǐng)參加MSDN
◆C# DirectorySearcher類的Findall方法用來遞歸的查找所有符合條件的對(duì)象。其返回結(jié)果是一個(gè)SearchResult類型的對(duì)象,這是一個(gè)集合類型。
◆用Foreach語句訪問集合中的所有對(duì)象,獲得對(duì)象的信息。

【編輯推薦】

  1. C# Iterator迭代器模式
  2. 概述C# New運(yùn)算符
  3. C# WiteOne學(xué)習(xí)筆記
  4. 用C# ListView顯示數(shù)據(jù)記錄
  5. C# ConfigDlg.cs源程序
責(zé)任編輯:佚名 來源: IT168
相關(guān)推薦

2009-09-03 15:57:11

C# SystemMe

2009-08-06 14:53:41

C# User類

2010-01-15 18:35:25

C++的類

2009-08-27 13:37:11

C#類和結(jié)構(gòu)

2009-09-02 14:33:57

C#類實(shí)現(xiàn)接口

2009-08-12 18:35:36

C# ArrayLis

2009-08-25 10:24:29

C# delegate

2009-08-17 16:47:51

C# Anonymou

2009-09-02 17:20:50

C# Parsing

2009-08-10 16:30:56

C# BitmapDa

2009-08-04 08:48:44

C#內(nèi)置特性

2009-07-31 14:15:38

C# 構(gòu)造函數(shù)

2009-08-12 15:34:40

C# DBNull

2009-08-12 15:43:02

操作C# Datase

2009-08-18 16:45:40

C# Raw Sock

2009-08-18 17:17:05

C#局部類型

2009-08-26 11:30:16

C# Arraylis

2009-09-07 15:40:06

2009-08-21 15:16:23

C#使用指針

2009-08-26 17:31:59

C# const常量
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)