Как создать новое подразделение в Active Directory, используя DirectoryServices.AccountManagement в .net 3.5 или 4 - PullRequest
6 голосов
/ 17 октября 2011

для создания и поиска пользователей и групп в Active Directory, я использовал этот код: http://anyrest.wordpress.com/2010/06/28/active-directory-c/ который использует новое пространство имен System.DirectoryServices.AccountManagement, представленное в .net 3.5 ...

Я хотел бы добавить метод, который создает новое подразделение (если подразделение еще не существует), используя новейшую технологию с .net 3.5 или 4.0 (и не используя старые System.DirectoryServices)

есть идеи, как это сделать?

1 Ответ

10 голосов
/ 17 октября 2011

В соответствии с Управление принципами безопасности каталогов в .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(){}

...