Странное имя учетной записи sAMAccountName при создании учетной записи пользователя с использованием DirectoryServices

#c# #ldap #directoryservices #adsi

#c# #ldap #directoryservices #adsi

Вопрос:

мой код C # использует пространство имен DirectoryServices для создания учетных записей пользователей домена.

     DirectoryEntry deRoot = new DirectoryEntry("LDAP://OU=MYOU,DC=DOMAIN,DC=LOCAL");
    directoryEntry = deRoot.Children.Add("CN=Tony", "user");
    directoryEntry.CommitChanges();
    directoryEntry.Properties["sAMAccountName"].Value = "Tony1";
    directoryEntry.Properties["displayName"].Value = "Tony Danza";
    directoryEntry.Invoke("SetPassword", "mypass123");
    directoryEntry.CommitChanges();
  

Это успешно создает учетную запись, но свойство sAMAccountName содержит довольно странное значение, такое как $ HGA000-8FP94NQK9R9I или $ NGA000-B3BJ2ELT5OOD.
При выполнении внутри моего домена разработчиков все в порядке.

Ответ №1:

Попробуйте установить имя учетной записи sAMAccountName перед первым CommitChanges .

Возможно, поскольку sAMAccountName является обязательным атрибутом, система присваивает ему значение по умолчанию, если вы не указали его при создании объекта.

Комментарии:

1. Боже, ты прав. Имя учетной записи sAMAccountName должно быть установлено ПЕРЕД первым вызовом CommitChanges(). Однако имейте в виду, что это не обязательно при работе на функциональном уровне домена Windows 2008 (R2).