如何使用.net 3.5或4中的DirectoryServices.AccountManagement在Active Directory中创建新OU

时间:2011-10-17 10:49:11

标签: .net .net-3.5 .net-4.0 active-directory ldap

创建&找到用户和Active Directory中的组我一直在使用此代码: http://anyrest.wordpress.com/2010/06/28/active-directory-c/ 使用.net 3.5中引入的新System.DirectoryServices.AccountManagement命名空间...

我想添加一个方法,使用.net 3.5或4.0的最新技术(并且不使用旧的System.DirectoryServices)创建新OU(如果OU不存在)

任何想法如何做到这一点?

1 个答案:

答案 0 :(得分:10)

根据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(){}指令