2011-10-17 28 views
6

để tạo & tìm người & nhóm trong Active Directory tôi đã sử dụng mã này: http://anyrest.wordpress.com/2010/06/28/active-directory-c/ đó là sử dụng hệ thống mới. Không gian tên DirectoryServices.AccountManagement được giới thiệu trong .net 3.5 ...làm thế nào để tôi tạo OU mới trong Active Directory sử dụng DirectoryServices.AccountManagement trong .net 3.5 hoặc 4

Tôi muốn thêm phương thức tạo OU mới (nếu OU chưa tồn tại) bằng công nghệ mới nhất với .net 3.5 hoặc 4.0 (và không sử dụng System.DirectoryServices cũ)

bất kỳ ý tưởng nào về cách thực hiện điều đó?

Trả lời

9

Theo Managing Directory Security Principals in the .NET Framework 3.5 đặc biệt kiến ​​trúc ở đây theo và System.DirectoryServices.AccountManagement Namespace bài viết, accountManagement dành cho nhóm người dùng và máy tính (hiệu trưởng bảo mật).

Active Directory Architecture

Đối organizationalUnit, bạn có thể sử dụng System.DirectoryServices.ActiveDirectory đây là một ví dụ:

using System.DirectoryServices; 

... 

/* Connection to Active Directory 
*/ 
DirectoryEntry deBase = new DirectoryEntry("LDAP://WM2008R2ENT:389/ou=Monou,dc=dom,dc=fr", "jpb", "PWD"); 

DirectorySearcher ouSrc = new DirectorySearcher(deBase); 
ouSrc.Filter = "(OU=TheNewOU)"; 
ouSrc.SearchScope = SearchScope.Subtree; 
SearchResult srOU = ouSrc.FindOne(); 
if (srOU == null) 
{ 
    /* OU Creation 
    */ 
    DirectoryEntry anOU = deBase.Children.Add("OU=TheNewOU", "organizationalUnit"); 
    anOU.Properties["description"].Value = "The description you want"; 
    anOU.CommitChanges(); 
} 

Đừng quên sử dụng using(){} chỉ

+0

Tôi nghĩ bạn có thể dùng lệnh 'PrincipalContext' để truy xuất giá trị 'Container'. – JPBlanc

+0

nhưng tôi có thể kiểm tra xem OU có tồn tại không? và tôi có thể thêm một OU mới không? nếu không, tôi làm tôi có bối cảnh chính và tạo ra một đối tượng DirectoryEntery từ các thuộc tính của nó? – danfromisrael

Các vấn đề liên quan