“指定的域名不存在或无法联系。”

时间:2011-03-19 00:30:21

标签: c# directoryservices

我正在尝试使用DomainServices类从我的Active Directory中检索OU列表。

这是我的代码:

public List<OrganizationalUnit> FindOrganizationalUnits(string domainName, string domainExtension, string parentOrganizationUnit)
{
    string tmpDirectory = String.Format("LDAP://ou={0},dc={1},dc={2}", 
                                            parentOrganizationUnit,
                                            domainName,
                                            domainExtension
    );

    DirectoryEntry directory = new DirectoryEntry(tmpDirectory);

    DirectorySearcher searcher = new DirectorySearcher(directory);
    searcher.Filter = "(objectClass=organizationalUnit)";
    searcher.SearchScope = SearchScope.Subtree;
    searcher.PropertiesToLoad.Add("displayName");

    var organizationalUnits = new List<OrganizationalUnit>();
    foreach (SearchResult result in searcher.FindAll())
    {
        //I just create and return a new OrganizationalUnit object based on the SearchResult result.
        organizationalUnits.Add(new OrganizationalUnit(result));
    }

    return organizationalUnits;
}

我是否需要在服务器端上设置一些配置,让我使用DirectoryServices来查询它的AD对象?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您运行此代码的应用程序类型是什么?必须从经过身份验证的资源进行AD查询。您可以使用用户的当前凭据,也可以传入新的名称/密码。

服务通常没有任何问题,在LocalSystem下运行,但如果这是在IIS标准权限下运行的Web应用程序,则可能会导致问题。

尝试在实例化DirectoryEntry类时添加一些凭据。