DirectorySearcher

时间:2017-04-18 13:11:58

标签: c# .net active-directory ldap directorysearcher

我正在使用DirectorySearcher根据电子邮件地址查找用户帐户:

using (var searcher = new DirectorySearcher
{
    SearchRoot = new DirectoryEntry($"LDAP://DC={companyOfficeLocation},DC={companyDomain},DC=com"),
    SearchScope = SearchScope.Subtree,
    Filter = $"(mail={email})",
    PropertiesToLoad = { "sAMAccountName" },
    ReferralChasing = ReferralChasingOption.All,
})
{
    return searcher.FindAll().Cast<SearchResult>()
        .Select(r => (string)r.Properties["sAMAccountName"][0])
        .ToList();
}

此代码与System.DirectoryServices.DirectoryServicesCOMException间歇性地失败,错误消息为A referral was returned from the server.

这些错误在计算机之间不一致(例如,在不同的Web服务器上,相同的查询可能会失败或在同一时间范围内成功)。有一些迹象表明ActiveDirectory服务器重新启动或Web服务器重新启动可能会触发错误。

我想知道:推荐错误的可能原因是什么?尽管将ReferralChasing属性设置为All,我为什么会看到引荐错误?

修改

ExtendedErrorMessage的{​​{1}}属性中捕获的更多信息:

  <00> 0000202B:参考号:DSID-031007F3,数据0,1个接入点参考1:&#39; arlington.predictivetechnologies.com&#39;

0 个答案:

没有答案