C# AccountManagement创建用户返回';对象已存在';例外
我试图在ActiveDirectory中的特定OU中创建一个新的UserPrincipal,它返回一个异常,消息为“Object ready exists”。(显然)用户不存在于该OU中,我正在测试其存在性 我做错了什么 下面是引发异常的代码:C# AccountManagement创建用户返回';对象已存在';例外,c#,active-directory,account-management,C#,Active Directory,Account Management,我试图在ActiveDirectory中的特定OU中创建一个新的UserPrincipal,它返回一个异常,消息为“Object ready exists”。(显然)用户不存在于该OU中,我正在测试其存在性 我做错了什么 下面是引发异常的代码: public UserPrincipal CreateUser(string username, string pass, string givenName, string surname) { PrincipalContext
public UserPrincipal CreateUser(string username, string pass,
string givenName, string surname) {
PrincipalContext context = this.principalContext;
UserPrincipal user = new UserPrincipal(context);
user.SamAccountName = username;
user.UserPrincipalName = username;
user.GivenName = givenName;
user.Surname = surname;
user.SetPassword(pass);
user.Save();
return user;
}
编辑1:在单元测试之后,我发现代码还可以。我在lib(运行测试的地方)中使用此方法,该lib由另一个启用了Windows身份验证模式的应用程序调用。可能应用程序正在向AD发送身份验证?sAMAccountName在整个企业中必须是唯一的。您在创建用户时提到“特定OU”。您是否可能在不同的OU中有另一个具有相同用户名/sAMAccountName的用户?sAMAccountName在整个企业中必须是唯一的。您在创建用户时提到“特定OU”。您是否有可能在不同的OU中有另一个具有相同用户名/sAMAccountName的用户?我遇到了相同的错误,但从上面接受的答案看没有多大帮助,因为在我的情况下,问题不是因为
sAMAccountName
而是因为Name
。试图创建的帐户具有唯一的sAMAccountName,但该名称已存在,导致此错误
The object already exists.
看起来可能会针对多个Active Directory帐户属性发生错误
- sAMAccountName
- 名字
与大多数情况一样,最好在创建新条目之前检查是否存在 有用链接:
干杯,我也遇到了同样的错误,但从上面接受的答案来看没有多大帮助,因为在我的案例中,问题不是因为
sAMAccountName
而是因为Name
。试图创建的帐户具有唯一的sAMAccountName,但该名称已存在,导致此错误
The object already exists.
看起来可能会针对多个Active Directory帐户属性发生错误
- sAMAccountName
- 名字
与大多数情况一样,最好在创建新条目之前检查是否存在 有用链接:
干杯,是的。如您所述,该用户已存在于另一个OU中。我的代码验证用户是否仅存在于特定的OU中,而不是整个企业中。非常感谢。是的。如您所述,该用户已存在于另一个OU中。我的代码验证用户是否仅存在于特定的OU中,而不是整个企业中。非常感谢。非常有用的回答。
Name
属性映射到LDAP对象上的CN(公共名称)。CN在您创建帐户的OU中必须是唯一的,否则您将得到“对象已存在”。非常有用的答案。Name
属性映射到LDAP对象上的CN(公共名称)。CN在您创建帐户的OU中必须是唯一的,否则您将得到“对象已存在”。