我正在尝试在 ActiveDirectory 内的特定 OU 中创建一个新的 UserPrincipal,它返回一个异常,并显示消息“对象已存在”。(显然)该用户不存在于该 OU 中,我正在测试它的存在。
我究竟做错了什么?
这是引发异常的代码:
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:经过单元测试,我发现代码没问题。我在一个库(我在其中运行测试)中使用此方法,该方法由另一个应用程序调用,该应用程序启用了 Windows 身份验证模式。也许应用程序正在将该身份验证发送给 AD?