2012-06-11 184 views
1

可能重复:
Search when NOT in OU从搜索中排除OU

我想从搜索排除OU(组织单位)

我做对活动目录等等我不会显示已经被终止或不再与我们一起工作的人。

这些人存在于OU称为“暂停”,我不想显示。我试着沿着(!OU=Suspended)的方向做一些事情,但是没有成功。我正在使用.net和System.DirectoryServices。这是我目前的搜索过滤器:

search.Filter = String.Format ("(&(objectCategory=person)(objectClass=user)(sn={0}*)(!employeeType=Student)(!(memberOf=CN=NoDirectoryEntry,OU=Groups,OU=Staff,OU=SPFLDCOL,DC=scad,DC=spfldcol,DC=edu)))", lname); 
+0

什么?请重新说明。 – Zenwalker

+0

向我们展示一些更多的代码,需要一些上下文+什么具体错误(如果有的话) – dtsg

+0

这实际上是一个很好的问题,但它已经被回答,se评论 –

回答

1

在Active-猪病一个LDAP搜索使用过滤器不能排除OU。

由于标准的LDAP discribe一个LDAP-SEARCH作为一种功能与4个参数:

  1. 哪里开始搜索这是一个区别名的点头(DN)
  2. 的attibutes你想成为brougth back
  3. 搜索深度(基础,一级,子树)
  4. 过滤器。

剩下的解决方案是:

  • 为了寻找对方的OU。
  • 要为每个对象的专用属性取消暂停的OU并使用此属性进行过滤。
+0

我可以指定一个特定的OU来搜索吗? –

+0

是的,您可以指定OU的DN作为开始搜索的位置。 – JPBlanc