0

我正在尝试使用 UnboundID LDAP SDK 更改活动目录帐户过期设置。但我无法找到做到这一点的方法。有人可以帮我吗?

在此处输入图像描述

我需要知道如何将帐户过期天数延长,以及我们如何将其更改为从不。

谢谢,

萨西库马尔 M.

4

2 回答 2

1

“帐户到期的日期。此值表示自 1601 年 1 月 1 日 (UTC) 以来的 100 纳秒间隔数。值 0 或 0x7FFFFFFFFFFFFFFF (9223372036854775807) 表示该帐户永不过期。”

在java中,

private static final String ACCOUNT_NEVER_EXPIRE_VALUE = "9223372036854775807";
boolean accountNeverExpire = accountExpires.equals("0") || ACCOUNT_NEVER_EXPIRE_VALUE.equals(accountExpires);

private final static long DIFF_NET_JAVA_FOR_DATES = 11644473600000L + 24 * 60 * 60 * 1000;

long adAccountExpires= Long.parseLong(accountExpires);
long milliseconds = (adAccountExpires / 10000) - DIFF_NET_JAVA_FOR_DATES;
Date accountExpiresDate= new Date(milliseconds);

应该让你走上正轨。

-吉姆

于 2014-06-02T14:03:47.617 回答
0

使用 UNboundID LDAP SDK

Try{
System.out.println("Going to replace account expires to never");
final Modification mod = new Modification(ModificationType.REPLACE,
                "accountExpires", "9223372036854775807");
LDAPResult result=connection.modify(userDN, mod);
System.out.println("Password status : " + result);
}catch(LDAPException e) {
// TODO Auto-generated catch block
System.out.println("Error in replacing account expires to never");
e.printStackTrace();
}finally
{
System.out.println("Closing the connection.");
connection.close();
}               
于 2014-06-04T07:39:12.347 回答