Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 仅检索active directory上启用的帐户_Java_Active Directory - Fatal编程技术网

Java 仅检索active directory上启用的帐户

Java 仅检索active directory上启用的帐户,java,active-directory,Java,Active Directory,我想向Microsoft的Active Directory(使用Java)发送一个搜索字符串,上面写着“给我所有启用帐户的用户” 目前,我有: 字符串搜索_String=“(&(objectClass=user))” 但是,当然,这只给了我广告上的用户。我想也只得到那些活跃的用户。它是用Java编写的,但我认为它与LDAP无关。为了获得启用的用户,必须检查userAccountControl属性,特别是它的第二位,它对应于ACCOUNTDISABLE标志 这可以通过LDAP筛选器完成,如下所示:

我想向Microsoft的Active Directory(使用Java)发送一个搜索字符串,上面写着“给我所有启用帐户的用户”

目前,我有:

字符串搜索_String=“(&(objectClass=user))”


但是,当然,这只给了我广告上的用户。我想也只得到那些活跃的用户。它是用Java编写的,但我认为它与LDAP无关。

为了获得启用的用户,必须检查userAccountControl属性,特别是它的第二位,它对应于ACCOUNTDISABLE标志

这可以通过LDAP筛选器完成,如下所示:

(!(userAccountControl:1.2.840.113556.1.4.803:=2))
查看这篇关于的文章,了解有关如何工作的详细信息

您还应该知道计算机帐户是从用户类型继承的,因此您应该在筛选中添加一个条件,以筛选出它们。您还可能需要检查普通账户标志(512)的位,以过滤其他类型的账户


我不知道您所说的活动用户是什么意思,因此我无法在这方面帮助您。

据我所知,这里是检查帐户是否处于活动状态的active Directory标准

为您提供帐户状态,您可能对以下内容感兴趣:

  • 帐户禁用(2)
  • 锁定(16)
要在筛选器中使用此字段,可以在\u链OID中使用LDAP\u匹配\u规则,\u,如中所述


您需要了解“活动”在上下文中的含义,并编写相应的LDAP查询代码。由于您尚未定义“活动”的含义,我怀疑这里的任何人都无法帮助您。感谢您的快速回复。代码的哪一部分决定了“活动”的定义方式?(通常,我会创建一个LDAP属性对象,其中包含用户名、密码和主机信息,以获取AD连接。然后,我创建上下文和搜索查询,并从AD获取响应。我对定义“活动”的含义有点困惑。)您能解释一下吗?(我可以提供我的代码,但我不知道哪些部分是相关的。)您必须自己决定“活动”是什么意思,以及如何映射到可以查询的LDAP属性。我们不知道您在上下文中所说的“活动”是什么意思。如果我完全误解了您的意思,请告诉我,但我指的是Microsoft的active Directory。我正在连接到服务器并提供上面描述的搜索查询。您所说的“活动”是什么意思?
(&(objectCategory=person)(!(userAccountControl:1.2.840.113556.1.4.804:=18)))