【问题标题】:LDAP Filter for distinguishedName EndsWith?DistinguishedName EndsWith 的 LDAP 过滤器?
【发布时间】:2020-07-03 20:02:32
【问题描述】:

我正在尝试构建一个 LDAP 过滤器,其工作方式类似于这个简单的 PowerShell 命令:

Get-ADUser -Filter * -Properties Department -SearchBase "OU=Company Users,OU=WorkPlace,OU=contoso,DC=fr" | `
    Where{  (($_.SamAccountName -like "user1") -OR ($_.SamAccountName -like "user2") -OR ($_.SamAccountName -eq "user3")) -OR `
            ($_.Department -like "Dpt1/*") -OR `
            ($_.Department -like "Dpt2/*") -OR `
            ($_.Department -like "*/Svc3/*") -OR `
            ($_.SamAccountName -in (Get-ADGroupMember -Identity "Group1" -Recursive).SamAccountName)
         }  

我尝试阅读一些示例 here 来制作此过滤器,但我卡住了(dn 错误):

(&(distinguishedName=*OU=Company Users,OU=WorkPlace,OU=contoso,DC=fr)
(!(employeeNumber=\00))(!(department=\00))
(|(department=Dpt1/*)(department=Dpt2/*)(department=*/Svc3/*)
(sAMAccountName=user1)
(sAMAccountName=user2)
(sAMAccountName=user3))
(objectCategory=person)
(sAMAccountType=805306368))

如何编写此过滤器以列出具有以 OU=Company Users,OU=WorkPlace,OU=contoso,DC=fr 结尾或在此 OU 和子 OU 中的 distinctName 值的用户?

如果它对我需要过滤的用户有帮助:

  • 需要在指定的OU或子OU中
  • 需要匹配某个组的一些 samAccountNames OR Department OR Nested memberShip
  • 需要填写一些属性(部门、员工编号……)

【问题讨论】:

    标签: active-directory ldap-query


    【解决方案1】:

    Active Directory 不允许您对任何可分辨名称(distinguishedNamemembermanager 等)的属性使用通配符。

    如果您需要在 OU 和子 OU 中查找对象,则将该 OU 设置为搜索库,我看到您已经这样做了:-SearchBase "OU=Company Users,OU=WorkPlace,OU=contoso,DC=fr"

    【讨论】:

    • 谢谢@gabriel-luci。事实上,我知道如何在 Powershell 中做到这一点。有没有办法在 ldap 查询中做到这一点?
    • LDAP 是查询 AD 的唯一方法。 PowerShell 将该命令转换为 LDAP 查询。 LDAP 查询的一部分是“搜索基础”,有时也称为“搜索根”或“基础 DN”。总有一种方法可以设置该值。您使用什么来进行 LDAP 查询?
    • 在我的例子中,一些私有的旧应用程序需要在 AD 中检索用户。我认为不可能设置一些选项。我更喜欢让他们使用 baseDN(即 rootDSE)来防止有人决定重命名某些 OU(在我后面)时出错。为了使这成为可能,我需要提供 LDAP 过滤器来解决问题 ^^
    • 过滤器中没有办法做到这一点。唯一的两种方法是设置搜索根,或者返回结果后在代码中过滤结果。
    • @JohnRSmith 我不确定我是否理解这个问题,但安全组的“名称”是 cnname 属性的值,并且是distinguishedName (DN)。 accountNameHistory属性是多值字符串,不是DN属性,这样查询就ok了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-08
    • 1970-01-01
    相关资源
    最近更新 更多