Моя основная цель - запросить группу активных каталогов для членов и удалить определенных участников на основе их атрибута employeeid.
Группа и один набор пользователей живут в одном домене в двух разных подразделениях, а второй множество пользователей живут на другом домене. У меня есть три различных контекста, настроенных для запроса этих трех разных мест:
- Доступ на запись в группу
- Доступ на чтение к группе пользователей в первом домене
- Доступ на чтение к группе «Пользователи» во втором домене
Доступ на запись контролируется одной учетной записью, а доступ на чтение - второй.
Используя контекст записи, я могу запрос для рассматриваемой группы:
GroupPrincipal group = GroupPrincipal.FindByIdentity(writeContext, IdentityType.Name, groupName);
PrincipalCollection members = group.Members;
foreach(Principal member in members)
{
//check employeeid and potentially remove from group
}
Однако, как только я go перебирает членов группы, я получаю исключение:
"{" Имя пользователя или неверный пароль. \ r \ n "}".
Я предполагаю, что это связано с тем, что контекст доступа для записи не имеет доступа к OU / домену, в котором живут пользователи. Я чувствую, что, поскольку у меня есть доступ для записи в группу, я смогу удалить определенных c пользователей, не имея доступа к OU / домену, в котором живут пользователи. Я что-то упускаю здесь?