我编写了一个LDAP查询,将一个永久组中的所有用户拉出,但不包括Contractors组中的所有用户。问题是,其中一些承包商需要例外才能拥有一些特权,例如常任理事国。问题是,我无法从永久组和例外组中获得预期的用户,而无法同时排除承包商组中的所有用户。下面是应该执行的查询。
我试图将两个组(Contractors和Exception_Contractors)一起与在一起,以便只有例外的承包商,因为承包商可以在这两个组中。
(&(objectClass=user)
(&(memberOf=CN=Contractors,CN=Users,DC=XYZ,DC=com)
(memberOf=CN=Exception_Contractors,OU=File Server Groups,OU=GRP,OU=XYZ,DC=INC,DC=com)))
此LDAP查询的结果应包括永久(objectClass=user)
组中的所有用户和Exception_Contractors。请进一步告知。谢谢!
如果我对您的理解正确,您想查找所有用户,不包括承包商,但包括例外组中的承包商。
我认为您正在寻找:
!
运算符,表示“ not”,和|
运算符,表示“或”:喜欢这个:
(&(objectClass=user)
(|(!memberOf=CN=Contractors,CN=Users,DC=XYZ,DC=com)
(memberOf=CN=Exception_Contractors,OU=File Server Groups,OU=GRP,OU=XYZ,DC=INC,DC=com)))
因此,这意味着:不在承包商组中或不在例外承包商组中的所有用户。
附带说明,objectClass=user
不是“组”。它仅表示“所有用户对象”。 (与计算机,联系人,OU对象等相对)。