2

我有一个 LDAP 搜索查询,我在其中使用以下过滤器

"(&(objectClass=user)(objectCategory=person))"

并针对 AD 运行以获取用户帐户。返回的属性之一(“memberOf”)包含一个“;” 用户所属的组的分隔字符串。

IE

CN=MyGroup,OU=MyMainOU,DC=masterdom,DC=local; CN=Administrators, CN=Builtin ,DC=masterdom,DC=local

我想过滤掉内置安全组,在处理列表时,我可以依赖包含字符串“cn=builtin”的“内置”组吗?或者它可以随着本地等而改变。如果是这样,正确的方法是什么?

4

1 回答 1

2

如果要使用该memberOf属性,可以使用完整的容器名称将其包含在过滤器中:

(&(objectClass=user)(objectCategory=person)(memberof=CN=Builtin,DC=masterdom,DC=local))

不过要记住的是,该memberOf属性将仅显示用户源自的域组件 (DC) 的本地组 - 我的意思是,如果用户A同时属于DevelopersManagement组,但该Developers组不'在您查询的当前域组件中不存在,则该memberOf属性将仅Management在查询时为用户显示组。

另外,该memberOf属性是计算的反向链接属性构造的属性。它由 Active Directory 维护和计算,因此当您移动用户和组时,该值将自动为用户更改。

但是,从您的帖子来看,如果您只是遍历用户列表并检查memberOf属性是否存在CN=Builtin(例如.Contains检查),那么是的,您可以依赖该字符串,因为它是您正在查询的 DC。

于 2013-09-10T14:09:30.213 回答