我有一个LDAP搜索查询,我使用以下过滤器
"(&(objectClass=user)(objectCategory=person))"
并针对AD运行以获取用户帐户。返回的其中一个属性(“memberOf”)包含“;”用户所属的分隔字符串字符串。
即
CN = MyGroup的,OU = MyMainOU,DC = MASTERDOM,DC =本地; CN =管理员,的 CN =内藏下,DC = MASTERDOM,DC =本地
我想过滤掉BuiltIn安全组,在处理列表时我可以依赖包含字符串“cn = builtin”的“内置”组吗?或者它可以随地方等改变。如果是这样,什么是正确的方法?
答案 0 :(得分:2)
如果您想使用memberOf
属性,可以使用完整的容器名称将其包含在过滤器中:
(&(objectClass=user)(objectCategory=person)(memberof=CN=Builtin,DC=masterdom,DC=local))
要记住的是,memberOf
属性只会显示用户派生自的域组件(DC)的原生组 - 我的意思是,如果用户{{1} }是A
和Developers
组的一部分,但Management
组在您查询的当前域组件中不存在,那么Developers
属性将仅在查询时显示用户的memberOf
组。
另外,Management
属性是计算的反向链接属性或构造的属性。它由Active Directory维护和计算,因此当您移动用户和组时,该值将自动为用户更改。
但是,根据您的帖子判断,如果您只是遍历用户列表并检查memberOf
属性是否存在memberOf
(例如CN=Builtin
检查) ,那么是的,你可以依赖那个字符串,因为它是你正在查询的DC的一部分。