在尝试添加新用户或尝试通过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)
那么,如果不是许可问题,那么可能会引起什么的任何想法?
答案 0 :(得分:0)
您必须为OU提供完整的专有名称,包括域。这是无效的:
"OU=Users,OU=SI"
可能是这样(如果您的域名是“ domain.com”):
"OU=Users,OU=SI,DC=domain,DC=com"