搜索用户时AD返回计算机对象

时间:2014-07-14 16:02:55

标签: c# asp.net active-directory

我花了三个小时搞清楚这一点,希望有人能告诉我这里发生了什么。

我有用于搜索用户的AD代码。在我们的域中,用户名类似于计算机名称(约定是第一个+最后一个+计算机名称)。

当我运行以下查询时,我有时会得到一台计算机,有时我会得到一个用户:

(&(objectClass=user)(anr=username))

当我使用SamAccountName而不是anr时,我总是会得到一个用户。我不得不改变我的代码来做到这一点。

anr查询是否会覆盖objectClass查询? (我认为这段代码要求用户)

1 个答案:

答案 0 :(得分:1)

这是预料之中的。计算机派生自AD的类层次结构中的用户。使用此过滤器,你就会很好。

(&(objectCategory=person)(objectClass=user)(anr=username))