Active directory 需要一个LDAP查询,该查询将确定用户在Active Directory中是否具有三个属性中任意一个的空值

Active directory 需要一个LDAP查询,该查询将确定用户在Active Directory中是否具有三个属性中任意一个的空值,active-directory,ldap,ldap-query,Active Directory,Ldap,Ldap Query,我需要一个ldap查询来确定用户是否具有以下任何属性的空值:department、employeeID和Last Name(sn)。使用Active Directory用户和计算机控制台,我可以使用图形查找实用程序,然后在“高级”选项卡下构造一个查询,将所有这三个搜索属性添加到条件列表中,条件为“不存在”,它将查找缺少所有这三个值的所有用户。但是,它不会发现用户只缺少这些值中的一个或三个值中的两个。它只发现用户缺少这三个值。如何查找在最终搜索结果中丢失至少一个、两个或全部三个值的所有用户?图形查

我需要一个ldap查询来确定用户是否具有以下任何属性的空值:department、employeeID和Last Name(sn)。使用Active Directory用户和计算机控制台,我可以使用图形查找实用程序,然后在“高级”选项卡下构造一个查询,将所有这三个搜索属性添加到条件列表中,条件为“不存在”,它将查找缺少所有这三个值的所有用户。但是,它不会发现用户只缺少这些值中的一个或三个值中的两个。它只发现用户缺少这三个值。如何查找在最终搜索结果中丢失至少一个、两个或全部三个值的所有用户?

图形查找界面将条件与和连接起来。你想要还是要。因此,您必须自己编写LDAP查询。单击“高级”选项卡,您可以将其粘贴到:

(&(objectClass=user)(objectCategory=person)(|(!department=*)(!employeeID=*)(!sn=*)))
第一部分介绍的是
objectClass
objectCategory
将搜索范围限制为仅限用户。其余部分检查是否未设置这些属性中的任何一个


这里有一个关于如何构建LDAP查询的很好的总结:

图形查找界面将条件与和连接起来。你想要还是要。因此,您必须自己编写LDAP查询。单击“高级”选项卡,您可以将其粘贴到:

(&(objectClass=user)(objectCategory=person)(|(!department=*)(!employeeID=*)(!sn=*)))
第一部分介绍的是
objectClass
objectCategory
将搜索范围限制为仅限用户。其余部分检查是否未设置这些属性中的任何一个


关于如何构建LDAP查询,这里有一个很好的总结:

使用或代替and。使用或代替and。