Java:请求所有锁定的AD帐户

时间:2018-02-01 19:54:48

标签: java search active-directory

我今天有代码可以获取单个用户的AD信息。我正在寻找的代码就像Powershells Search-ADAccount -LockedOut

这是我所拥有的一小部分,但它没有返回所有已锁定的帐户。

env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.PROVIDER_URL, ldapUri);
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "username@ourdomain.com");
env.put(Context.SECURITY_CREDENTIALS, "password";

try {
    DirContext ctx = new InitialLdapContext(env,null);
    SearchControls searchCtls = new SearchControls();
    searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
    String searchFilter = "(&(objectClass=User)(lockoutTime>=1))";
    String searchBase = usersContainer;
    NamingEnumeration<SearchResult> answer = ctx.search(searchBase, searchFilter, searchCtls);
    while (answer.hasMore()) {
        SearchResult result = (SearchResult) answer.next();
        adInfo = result.getAttributes();
    }

    ctx.close();
}
catch (NamingException e) {

}

我把这个

(&(objectClass=User)(lockoutTime>=1)) 

在那里排队看看它是否会去查找所有锁定的帐户。我也试过

(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1)) 

但没有运气。

所以...我仍然在考虑缺乏Java LDAP支持,所以我转到这里看看是否有人有任何想法。

0 个答案:

没有答案