Как создать контакт в Active Directory путем расширения класса UserPrincipal?

Мне нужно создать контакт в Active Directory. У меня есть класс, который расширяет UserPrincipal. Как я могу использовать его для создания нового контакта? Приведенный ниже код вызывает исключение PrincipalOperationException "Запрошенная операция не удовлетворяет одному или нескольким ограничениям, связанным с классом объекта". исключение.

[DirectoryObjectClass("contact")]
[DirectoryRdnPrefix("CN")]
internal class MyContact : UserPrincipal
{

    public MyContact(PrincipalContext context)
        :base(context)
    {   
    }

}

using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "domain", 
     "OU=Unit1,DC=domain,DC=com", "login", "pass"))
{

     using (MyContact principal = new MyContact(pc))
     {
         principal.Name = "Cnt1";
         principal.Save();
     }
 }

Что я делаю неправильно?

1 ответ

Контактный объект не является принципалом безопасности. У него нет имени учетной записи SID или SAM. Не представляется правильным использовать какой-либо класс Principal для представления контактного объекта.

Другие вопросы по тегам