Как добавить пользователя в другой домен Active Directory в C #? - PullRequest
2 голосов
/ 24 ноября 2008

Поэтому моя цель - иметь возможность добавить пользователя из одного домена Active Directory в другую группу в отдельном домене Active Directory.

Я бы хотел сделать это в C #. Я знаю, что есть пространство имен System.DirectoryServices с классами для связи с AD, но я не могу найти никакой информации о добавлении пользователей в домены.

В среде есть два контроллера домена с одним и тем же родительским лесом. Между двумя доменами существует временное доверие, назовем их доменами A и B.

Я могу добавить пользователя из B в локальную или универсальную группу домена внутри домена A с помощью инструмента Active Directory.

Кто-нибудь знает, как я могу сделать это программно с помощью C #?

Ответы [ 2 ]

1 голос
/ 25 декабря 2008

Что сработало для меня, когда я написал код, чтобы сделать это пару лет назад:

  1. Получите DirectoryEntry для группы, в которую вы хотите добавить участника.
  2. Вызовите Invoke для группы DirectoryEntry, передав аргументы «Добавить» в качестве имени метода и ADsPath члена в массиве.

Пример кода на моей голове:

DirectoryEntry group = new DirectoryEntry(@"LDAP://CN=foo,DC=domainA");
string memberADsPath = @"LDAP://CN=bar,DC=domainB";
group.Invoke("Add", new Object[] {memberADsPath});
0 голосов
/ 27 декабря 2008

Вам необходимо создать объект DirectoryEntry для группы. Затем вы добавляете DN от пользователя, которого хотите добавить в группу, к атрибуту member в группе. Например:

DirectoryEntry group = new DirectoryEntry("LDAP://child.domain.com/cn=group,ou=sample,dc=child,dc=domain,dc=com");

string userDN = "cn=user,ou=sample,dc=domain,dc=com";

group.Properties["member"].Add(userDN);
group.CommitChanges();

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...