我正在尝试学习一些 LDAP 查询技能,以便在 SharePoint 2013 场中使用。我想限制我的人员选择器用户使用接受 LDAP 查询的 peoplepicker-searchadcustomfilter 命令。对于那些不熟悉此命令的人来说,该命令如下所示:
stsadm -o setproperty -pn peoplepicker-searchadcustomfilter -url https://<web app url> -pv "(|(objectClass=Group)(memberof=OU=WCH,OU=Employees,DE=Company,DC=Local))"
'-pv' 参数采用 LDAP 查询,其余部分则特定于 SharePoint。
我的目的是仅显示位于 WCH 员工 OU 中的组或实体、个人/用户或组。
由于只有当 ldap 语法正确时选择器设置才会起作用,所以我假设我在查找我指定的 OU 成员时使用的语法存在错误。
当我使用“(objectClass=Group)”作为值时,它工作正常。我仅从 AD 中的任何位置返回组。当我添加 Or 和附加的“memberof”查询时,它完全失败。
知道如何获取来自特定 OU 的任何组和用户吗?
感谢您!
答案1
OU 是范围对象 - 您必须将查询范围限制在 OU 内,但我认为您无法使用 poeplepicker 来做到这一点。
因此,为了解决这个问题,您可以添加一个名为 PeoplePickerGroup 的组,并让该 OU 中的所有用户成为该组的成员。然后使用以下链接:
(|(objectCatagory=Group)(&(objectCatagory=person)(CN=PeoplePickerGroup,OU=WCH,OU=Employees,DC=Company,DC=Local)))