2011-10-17 42 views
6

使用DirectoryServices.AccountManagement創建&找到用戶&組在Active Directory中我一直在使用這種代碼在Active Directory中新OU: http://anyrest.wordpress.com/2010/06/28/active-directory-c/ 正在使用新的系統。在.net 3.5中引入的DirectoryServices.AccountManagement命名空間...如何創建在.net 3.5或4

我想添加一個方法,使用最新的技術與.net 3.5或4.0創建一個新的OU(如果OU不存在)而不是使用舊的System.DirectoryServices)

任何想法該怎麼做?

回答

9

根據Managing Directory Security Principals in the .NET Framework 3.5特別提到的這個架構和System.DirectoryServices.AccountManagement Namespace文章,accountManagement是針對用戶組和計算機(安全主體)的。

Active Directory Architecture

organizationalUnit,您可以使用System.DirectoryServices.ActiveDirectory這裏有一個例子:

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(); 
} 

不要忘記使用using(){}指令

+0

我想你可以使用'PrincipalContext'中檢索'容器'值。 – JPBlanc

+0

但我可以檢查OU是否存在? ,我可以添加一個新的OU嗎? 如果沒有,我做主要的上下文,並從它的屬性創建一個DirectoryEntery對象? – danfromisrael

相關問題