java - 仅检索 Active Directory 上启用的帐户

标签 java active-directory

我想向 Microsoft 的 Active Directory(使用 Java)发送一个搜索字符串,其中显示“给我所有拥有已启用帐户的用户。”

目前,我有:

字符串 search_string = "(& (objectClass=user) )";

但是,当然,这只会给我 AD 上的用户。我也想只得到那些活跃的人。它是用 Java 编写的,但我认为这对于 LDAP 来说并不重要。

最佳答案

为了获取启用的用户,您必须检查 userAccountControl 属性,特别是其第二位,它对应于 ACCOUNTDISABLE 标志。 MS KB 305144 .

这可以通过 LDAP 过滤器来完成,如下所示:

(!(userAccountControl:1.2.840.113556.1.4.803:=2))

查看这篇关于Filtering for Bit Fields的文章了解其工作原理的详细信息。

此外,您应该知道计算机帐户是从用户类型继承的,因此您应该在过滤器中添加一个条件,以将其过滤掉。您可能还需要检查 NORMAL_ACCOUNT 标志位 (512),以过滤其他类型的帐户。

我不知道活跃用户是什么意思,所以我无法为您提供帮助。

关于java - 仅检索 Active Directory 上启用的帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9509222/

相关文章:

java - 读取 AEM 中 DAM 下存在的 csv/.xlsx 文件

java - 有没有办法查询带有通配符的ehcache映射键?

java - Eclipse 插件 : how to modify a file source programatically?

c# - 如何获取 Active Directory 组中的组列表

c# - 如何使用 C# 读取 "uSNChanged"属性

java - 在java中以stat.mod格式设置文件权限

java - 将 Java ArrayList 与自定义对象一起使用

c# - 如何限制多次登录同一用户 C# 和 Active Directory 成员身份

WPF TreeView 的 C# Observable 集合 LDAP 路径子项

tomcat - 检索 Java EE Web 应用程序中的当前 Windows 用户以实现单点登录