Filter Active Directory userAccountcontrol筛选器中的多个值

Filter Active Directory userAccountcontrol筛选器中的多个值,filter,active-directory,Filter,Active Directory,这个过滤器有什么问题 (&(objectClass=user)(&(userAccountControl=512)(userAccountControl=514))(|(sfrecordtype=10)(sfrecordtype=30)(sfrecordtype=32)(sfrecordtype=35))) 它只使用一个userAccountControl值就可以正常工作。如何为userAccountControl创建一个同时具有512和514的工作过滤器 我非常感谢你的帮助

这个过滤器有什么问题

(&(objectClass=user)(&(userAccountControl=512)(userAccountControl=514))(|(sfrecordtype=10)(sfrecordtype=30)(sfrecordtype=32)(sfrecordtype=35)))
它只使用一个userAccountControl值就可以正常工作。如何为userAccountControl创建一个同时具有512和514的工作过滤器

我非常感谢你的帮助

这个过滤器有什么问题

嗯,您的userAccountControl值不能同时为512和514—这是您的筛选器所要求的。这种情况永远不会发生

如果要将值512和514与OR条件组合—userAccountControl=512或userAccountControl=514—请尝试以下操作:

(&
    (objectClass=user)
    (|(userAccountControl=512)(userAccountControl=514))
    (|(sfrecordtype=10)(sfrecordtype=30)(sfrecordtype=32)(sfrecordtype=35))
)

您可能不想搜索这些特定值。您可能希望检查您感兴趣的特定位。原因是搜索不会包括任何设置了其他UAC标志的用户,这是一种非常现实的可能性

您可以使用按位或搜索:

bitmask = 512 | 514; // technically just 514 works

...(UserAccountControl:1.2.840.113556.1.4.804:=bitmask)...
这将返回与‭001000000010‬ 面具