2014-09-08 6 views
0

Я пытаюсь настроить код для создания нового OU (Organizational Unit) в активном каталоге.Создайте OU в активном каталоге для разных доменов

Целью является репликация структуры безопасности из нашего единого входа в Active Directory и автоматизация пользовательского обеспечения.

У меня есть рабочий код, который может создавать группы и пользователей, используя PrincipalContext.

Контроллер домена, к которому я подключаюсь, находится в другом домене, потому что его тестовый компьютер. У меня есть настройка компьютера для использования этого тестового контроллера для DNS и записи в файле хоста.

Когда я запускаю код ниже, я не получаю ошибок. Но всякий раз, когда я проверяю активный каталог, нет никаких доказательств того, что OU было создано.

public static void CreateOU() 
{ 
    DirectoryEntry domain = new DirectoryEntry("LDAP://testdomain.test.com/DC=test,DC=com", "username", "password"); 
    domain.Children.Add("AnotherOU", "OrganizationalUnit"); 
    domain.CommitChanges(); 
} 

Если я кладу в недопустимом пути Ldap или удалить testdomain.test.com я определенно получить либо ошибки входа (подключение к неправильному домену) или другие ошибки при нахождении OU.

Редактировать - Используемая учетная запись является администратором домена.

Редактировать - Добавить к ответу ниже. Мне также пришлось изменить имя AnotherOU на OU = AnotherOU, иначе вы получите ошибку нарушения имен.

+0

Как насчет разрешений учетной записи, используемой в конструкторе DirectoryEntry? – Oscar

+0

Учетная запись администратора домена прямо сейчас. Я могу войти в контроллер и вручную создать OU, используя Active Directory - пользователи и компьютеры. – VaultBoy14

ответ

1

Try с этим:

public static void CreateOU() 
{ 
    DirectoryEntry domain = new DirectoryEntry("LDAP://testdomain.test.com/DC=test,DC=com", "username", "password"); 
    DirectoryEntry newOU = domain.Children.Add("AnotherOU", "OrganizationalUnit"); 
    newOU.CommitChanges(); 
} 

Вы должны вызвать CommitChanges() на вновь созданный объект, а не в родительском.

+0

Использование 'PrincipalContext'? – Kiquenet

Смежные вопросы