根據Managing Directory Security Principals in the .NET Framework 3.5特別提到的這個架構和System.DirectoryServices.AccountManagement Namespace文章,accountManagement是針對用戶組和計算機(安全主體)的。
![Active Directory Architecture](https://i.stack.imgur.com/vey1Z.gif)
爲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(){}
指令
我想你可以使用'PrincipalContext'中檢索'容器'值。 – JPBlanc
但我可以檢查OU是否存在? ,我可以添加一個新的OU嗎? 如果沒有,我做主要的上下文,並從它的屬性創建一個DirectoryEntery對象? – danfromisrael