UserPrincipal不允许我添加新用户

时间:2018-12-28 13:35:04

标签: c# active-directory userprincipal

在尝试添加新用户或尝试通过C#程序访问Active Directory中现有的用户时,我遇到了一些问题。

    var principalContext = new PrincipalContext(ContextType.Domain, "domain", "OU=Users,OU=SI");
    UserPrincipal usr = UserPrincipal.FindByIdentity(principalContext, IdentityType.SamAccountName, samAccountStr);

它抛出“发生操作错误”异常。我发现,如果用户没有对Active Directory的正确权限,但我应该以可以将用户添加到AD的用户的身份以管理员身份运行该程序,则应该这样做。所以我真的不知道有什么问题。当我尝试添加新用户时,我会这样尝试:

    var principalContext = new PrincipalContext(ContextType.Domain, "domain", "OU=Users,OU=SI");
    UserPrincipal usr = new UserPrincipal(principalContext);

当我调用FindByIdentity时,现有用户的代码已经损坏。但是,在尝试为新用户原则设置一些值之后,新用户的代码将中断。例如:

    usr.Surname = sn;

扩展错误表明:    SvcErr:DSID-031007DF,问题5012(DIR_ERROR)

那么,如果不是许可问题,那么可能会引起什么的任何想法?

1 个答案:

答案 0 :(得分:0)

您必须为OU提供完整的专有名称,包括域。这是无效的:

"OU=Users,OU=SI"

可能是这样(如果您的域名是“ domain.com”):

"OU=Users,OU=SI,DC=domain,DC=com"