
Làm việc với Active Directory
Lập trình Active Directory – Phần 1
Để phát triển chương trình trong Active Directory ta dùng các lớp trong
namespace System.DirectoryServices và phải tham chiếu assembly
System.DirectoryServices .với các lớp này ta có thể truy vấn các đối tượng
,xem và cập nhật các thuộc tính, tìm các đối tượng và di chuyển các đối
tượng đến một chổ chứa đối tượng khác.
ta sẽ học các phần sau :
- Các lớp trong namespace System.DirectoryServices
- Tiến trình kết nối đến Active Directory -

- Lấy các mục trong thư mục, tạo đối tượng mới và cập nhật các mục tồn
tại
- Tìm kiếm trong Active Directory
Các lớp trong System.DirectoryServices
- DirectoryEntry : lớp này là lớp chính trong namespace
System.DirectoryServices .1 đối tượng của lớp này trình bày 1 đối tượng
trong Active Directory lưu trữ.ta dùng lớp này để liên kết đến 1 đối tượng,và
để xem và cập nhật thuộc tính. các thuộc tính của đối tượng được trình bày
trong PropertyCollection. mỗi mục trong PropertyCollection có 1
PropertyValueCollection
- DirectoryEntries : DirectoryEntries là 1 tập hợp các đối tượng
DirectoryEntry.thuộc tính Children của đối tượng DirectoryEntry trả về 1
danh sách các đối tượng trong tập DirectoryEntries
DirectorySearcher : lớp này là lớp chính dùng trong việc tìm kếm các đối
tượng với thuộc tính đặc trưng. lớp SortOption và kiểu liệt kê
SearchScope,SortDirection và ReferalChasingOption có thể được dùng để
định nghĩa việc tìm kiếm.kết quả tìm kiếm trong 1 SearchResult hoặc

SearchResultCollection. ta cũng có các đối tượng ResultPropertyCollection
và ResultPropertyValueCollection.
Binding ( sự liên kết )
Để lấy giá trị của 1 đối tượng trong Active Directory , ta phải kết nối đến
Active Directory. tiến trình kết nối gọi là binding.đưòng dẫn của binding có
thể là :
LDAP://dc01.globalknowledge.net/OU=Marketing, DC=GlobalKnowledge,
DC=Com
với tiến trình biding ta có thể đặc tả các mục sau:
- Protocol đặc tả provider được dùng
- Server Name ( tên server ) của domain controller
- Port number ( số cổng) của tiến trình server
- Distinguished Name ( tên phân biệt ) của đối tượng,để xác định đối
tượng ta muốn truy xuất
- Username và Password nếu người dùng nếu một tài khoản khác với
tài khoản đang chạy cần truy xuất Active Directory

- Kiểu Authentication có thể được đặc tả nếu cần mã hoá
Chi tiết các tuỳ chọn này là :
Protocol ( giao thức)
Phần đầu tiên đặc tả provider ADSI.provider thực thi như là 1 COM server ,
việc định danh 1 progID có thể được tìm trong Registry trong
HKEY_CLASSES_ROT . các provider trong Window 2000 là:
LDAP : LDAP server, như là thư mục Exchange và Window 2000 Active
Directory server
GC: GC được dùng để truy xuất global catalog trong Active Directory.nó
được dùng cho các truy vấn nhanh
IIS: với provider ADSI cho IIS ta có thể tạo các website mới và quản trị nó
trong IIS catalog
WinNT : để truy xuất cơ sở dữ liệu người dùng trong các domain Window
NT 4 cũ ta có thể dùng provider ADSI trong WinNT .cũng có thể dùng giao
thức này để kết nối với domain Window 2000 nhưng ta cũng bị giới hạn đối
với các thuộc tính mà có giá trị với NT4
NDS : ProID này được dùng để giao tiếp với các dịch vụ Novell Directory

NWCOMPAT : với NWCOMPAT ta có thể truy xuất các thư mục Novell cũ
như là Novell Netware 3.x
Server Name
Server name là tuỳ chọn nếu ta đăng nhập vào 1 domain Active Directory .
không có server name Window 2000 sẽ tìm domain controller 'tốt nhất '
trong domain mà kết hợp với người dùng để kết nối , nếu không có server
trong site , domain controller đầu tiên tìm thấy sẽ được dùng .
ví dụ 1 binding không có server :LDAP://OU=Sales, DC=GlobalKnowledge,
DC=Com.
Port number ( số cổng )
Sau server name là port number . cú pháp là : xxx. số cổng mặc định cho
server LDAP là cổng 389: LDAP://dc01.globalknowledge.net:389. server
Exchange dùng cùng số port như server LDAP . nếu server Exchange được
cài đặt trên cùng hệ thống - ví dụ như 1 domain controller của Active
Directory - có thể cấu hình số cổng khác .
Distinguished name (tên phân biệt, DN )

