我正在尝试以编程方式将用户添加到 Active Directory,但我一直遇到错误 - 无论我在启用帐户后立即创建什么用户,都会引发“重复条目”错误。这是我正在使用的代码:
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 中获取目录条目。谁能看到在这种情况下会出现重复输入错误的原因?