0

我正在尝试使用 UNBoundID 解锁 AD 帐户,但我无法成功。谁能帮我解决这个问题。?

我的尝试之一如下,

    byte[] quotedPasswordBytes=null;
    final String quotedPassword = '"' + flag + '"';
    try {
    quotedPasswordBytes = quotedPassword.getBytes("UTF-16LE");
    } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    Modification mod=new Modification(ModificationType.REPLACE, "msDS-User-Account-Control-Computed",quotedPasswordBytes);
    ModifyRequest modifyRequest= new ModifyRequest(userDn, mod);
    /*ModifyRequest mr = new ModifyRequest(userDn, 
    [new Modification(ModificationType.REPLACE, "msDS-UserAccountDisabled", "TRUE".bytes)]);*/
    connection.modify(modifyRequest);

供参考,

在此处输入图像描述

提前致谢,

4

2 回答 2

1

您应该改为修改 userAccountControl 属性。诀窍是知道将其设置为什么值。

  • 512 启用帐户
  • 514 禁用帐户
  • 544 已启用,不需要密码
  • 546 已禁用,不需要密码
  • 66048 已启用,密码不会过期
  • 66050 已禁用,密码不会过期
  • 66080 已启用,密码不会过期且不需要
  • 66082 已禁用,密码不会过期且不需要

参考http://www.netvision.com/ad_useraccountcontrol.phphttp://rajnishbhatia19.blogspot.com.au/2008/11/active-directory-useraccountcontrol.html或谷歌代码。

    try {
        Modification mod = new Modification(ModificationType.REPLACE,"userAccountControl","512");
        ModifyRequest mr = new ModifyRequest(userdn,mod);

        LDAPResult lr = ldapcon.modify(mr);
        ResultCode rc = lr.getResultCode();
        if (!rc.equals(ResultCode.SUCCESS)) {
            System.out.println("Something went wrong enabling the account for "+userdn);
        }
    } catch (LDAPException ex) {
        System.out.println(ex.getMessage());
    }
于 2015-03-06T06:50:36.130 回答
0

已经有一段时间没问这个了,但是要更改的属性是lockoutTime,应该是0才能解锁

于 2017-07-13T10:10:47.740 回答