active-directory - ObjectClass=user 和 (&(sAMAccountType=805306368)(sAMAccountName=userName)) 有什么区别?
问题描述
在 Active Directory 中检索特定用户的所有组。我可以使用哪一种是高效过滤器吗?
解决方案
根据您的 AD 环境运行的服务器版本,它不会产生任何影响。
查看 和objectClass
的sAMAccountName
文档sAMAccountType
。您会注意到它在这些页面上列出的一个属性是“已编入索引”。这会告诉您该属性是否在每个服务器版本中都被索引。sAMAccountName
并且sAMAccountType
一直被索引,并objectClass
开始在 Windows Server 2008 中被索引。
如果您尝试查找特定帐户,则只需要sAMAccountName
查询中的:
(sAMAccountName=userName)
这将执行得非常快,因为sAMAccountName
已编入索引。您可能想要包含的唯一原因是,sAMAccountType
或者objectClass
如果您不知道它是对象的类型,并且您想确保您只获得一个用户帐户。
您提到要检索用户的所有组,因此请看一下我写的文章:查找所有用户的组。代码示例是 C#,但原则适用于任何语言。
推荐阅读
- java - 模板解析时出错(模板:“类路径资源 [templates/index.html]”)
- r - 将数据框转换为每行列表,在 R 中每行创建一个向量
- r - ggplot中热图右侧的geom_text
- css - 我可以根据屏幕大小配置 Tailwind 自动更改吗?
- java - 单元测试只是测试方法吗?
- css - Material UI CSS 和 MuiIconButton-label
- sql - 如何处理 SQL 中不存在的特殊字符?
- javascript - 模态动态字段未定义
- javascript - 如何在剃须刀编辑器中保留一段不会消失的可编辑文本?
- c++ - “序列号”被定义为至少两个连续数字的序列