Я пытаюсь добавить пользователей в Active Directory программным способом и продолжаю сталкиваться с ошибкой - независимо от того, какого пользователя я создаю, как только я включаю учетную запись, выдается ошибка «Duplicate Entry». Это код, который я использую:
DirectoryEntry NewUser = AD.Children.Add("CN=" + username, "User");
NewUser.CommitChanges();
//Add user information
NewUser.Invoke("SetPassword", password);
NewUser.Properties["givenName"].Value = FirstName;
NewUser.Properties["sn"].Value = LastName;
NewUser.Properties["mail"].Value = email;
NewUser.Properties["userPrincipalName"].Value = username + @"domainname";
NewUser.Properties["userAccountControl"].Add(0x200);//enable account
NewUser.CommitChanges();
Когда я закомментирую строку, которая изменяет userAccountControl, все работает нормально. Я даже пытался создать новую запись и изменить ее таким образом, используя этот код:
DirectoryEntry editUser = getUserEntry(username);
editUser.Properties["userAccountControl"].Add(0x200);//enable account
editUser.CommitChanges();
но это все равно выдает ту же ошибку. getUserEntry просто получает запись каталога из AD с указанным именем пользователя. Может кто-нибудь увидеть причину, по которой в этом случае возникнет ошибка повторяющегося ввода?