排除计算机的LDAP查询

排除计算机的LDAP查询,ldap,ldap-query,Ldap,Ldap Query,我从未做过任何DAP/AD管理或查询。现在我有一个任务,我需要获得我们公司广告中的所有用户;但是在查询的结果中继续使用计算机。我使用objectClass=user,但仍然得到广告中的所有计算机。我还缺少什么?有没有办法说“objectClass=user而不是objectClass=Computer”? 谢谢 试试这个过滤器:(&(objectClass=user)(!(objectClass=computer))如果你在2019年来到这里,上面的答案现在就无关紧要了。我一直在使用下面的,它的

我从未做过任何DAP/AD管理或查询。现在我有一个任务,我需要获得我们公司广告中的所有用户;但是在查询的结果中继续使用计算机。我使用objectClass=user,但仍然得到广告中的所有计算机。我还缺少什么?有没有办法说“objectClass=user而不是objectClass=Computer”?
谢谢

试试这个过滤器:
(&(objectClass=user)(!(objectClass=computer))
如果你在2019年来到这里,上面的答案现在就无关紧要了。我一直在使用下面的,它的工作非常完美,使用运算符

Get-ADObject -IncludeDeletedObjects -Filter {(ObjectClass -eq "user") 
    -and (-not (objectClass -eq "computer")) -and (Deleted -eq $true)}

嗯,LDAP语法并不完全人性化。:)有一个帮助编写过滤器的工具很方便。我用的是非常好的。不是开玩笑!我经常编写SQL查询,因此熟悉逻辑;但至少可以说,语法非常有趣。感谢您提供有关Apache工具的提示,非常有用@zagyi知道为什么(&(objectClass=person)(!(objectClass=computer)))在OpenLdap上不返回任何结果吗?顺便说一句,(&(objectClass=person))不返回现有用户,(&(objectClass=computer))不返回任何值(这意味着我没有任何同时也是计算机的人。对象可以有多个objectClass。这可能是计算机出现在其他有效筛选器中的原因。无论您是在2019年还是任何一年—问题是关于使用LDAP,而您的答案是使用与当前问题无关的Powershell AD模块。o原始答案仍然有效并适用。