0

不知道我在这里缺少什么。我尝试过使用 DirectoryEntry 和 PrincipalContext 并且两种方式都有相同的问题。AD的结构类似于

root (okwu.edu)
    students
        AGS
        Traditional

我可以将用户添加到学生容器

PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, "OKWU.EDU", "OU=Students,DC=okwu,DC=edu", systemAccount, systemAccountPassword);

UserPrincipal user = new UserPrincipal(domainContext, model.SamAccountName, model.Password, true);

但如果我将 dn 用于 AGS(或传统)

 PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, "OKWU.EDU", "OU=AGS,OU=Students,DC=OKWU,DC=edu", systemAccount, systemAccountPassword);    

然后我得到一个错误,该对象在服务器上不存在。我找到了第一级容器的东西,但是当我尝试进入第二级容器时,没有任何东西可以解释我缺少什么。

4

2 回答 2

1

当然是因为您没有将主要上下文更改为 "OU=AGS,OU=Students,DC=okwu,DC=edu" :

PrincipalContext domainContext = new PrincipalContext(ContextType.Domain, "OKWU.EDU", "OU=AGS,OU=Students,DC=okwu,DC=edu", systemAccount, systemAccountPassword); 
于 2012-07-06T04:12:34.460 回答
1

我能想到三种不同的可能性。

可能性一:

你确定DN是真的OU=AGS,OU=Students,DC=OKWU,DC=edu吗?

OU 可能包含容器。因此,您的 DN 实际上可能看起来像这样

CN=AGS,OU=Students,DC=OKWU,DC=edu

获取 ADexplorer 或 ADSIedit。首先检查他们的 distinctName 。

可能性2:

您有多个域控制器。创建了一个域控制器,OU=AGS,OU=Students,DC=OKWU,DC=edu但没有创建其他域控制器。这可能是由于复制设置不正确

可能性3:

您的SystemAccount无权查看OU=AGS,OU=Students,DC=OKWU,DC=edu。为了证明这一点,您可以在使用 ADSIedit 时尝试以SystemAccount身份登录。

于 2012-07-06T04:21:28.513 回答