UserPrincipal не позволяет мне добавить нового пользователя

У меня возникла небольшая проблема при попытке добавить нового пользователя или попытке получить доступ к уже существующему пользователю в Active Directory через мою программу на C#.

    var principalContext = new PrincipalContext(ContextType.Domain, "domain", "OU=Users,OU=SI");
    UserPrincipal usr = UserPrincipal.FindByIdentity(principalContext, IdentityType.SamAccountName, samAccountStr);

Выдает исключение "Произошла ошибка операции". Я узнал, что так и должно быть, если у пользователя нет прав для Active Directory, но я запускаю программу от имени администратора с учетной записью того, кто может добавлять пользователей в AD. Так что я действительно не знаю, что может быть не так. Когда я пытаюсь добавить нового пользователя, я делаю это так:

    var principalContext = new PrincipalContext(ContextType.Domain, "domain", "OU=Users,OU=SI");
    UserPrincipal usr = new UserPrincipal(principalContext);

Код для существующего пользователя уже ломается, когда я вызываю FindByIdentity. Однако код для нового пользователя ломается после того, как я пытаюсь установить некоторые значения для принципа нового пользователя. Например:

    usr.Surname = sn;

Расширенная ошибка гласит: SvcErr: DSID-031007DF, проблема 5012 (DIR_ERROR)

Итак, есть идеи о том, что может быть причиной этого, если это не проблема с разрешением?


person TheRedRevan    schedule 28.12.2018    source источник


Ответы (1)


Вы должны предоставить полное отличительное имя для OU, включая домен. Это недействительно:

"OU=Users,OU=SI"

Что-то вроде этого (если ваш домен был «domain.com»):

"OU=Users,OU=SI,DC=domain,DC=com"
person Gabriel Luci    schedule 28.12.2018