启用AD帐户时出现重复条目错误

本文关键字:错误 AD 启用 | 更新日期: 2023-09-27 17:58:57

我正试图以编程方式将用户添加到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中获取目录条目。有人能理解在这种情况下会出现重复输入错误的原因吗?

启用AD帐户时出现重复条目错误

您可以尝试替换为:吗

DirectoryEntry editUser = getUserEntry(username);
editUser.Properties["userAccountControl"][0] = (0x200);//enable account 
editUser.CommitChanges(); 

你可能知道有些属性可以是多值的,userAccountControl不能,但在你的代码中,这就是你试图做的,我的意思是多值。在我的代码中我只分配一个新值(它将在vue的纯LDAP点上起到替换作用)。