Итак, я хочу создать учетную запись пользователя в Windows 2003 с Active Directory, использующей JNDI.Я следую следующему примеру: http://forums.sun.com/thread.jspa?threadID=582103 (первый пост).Следующий код выдает ошибку LDAP, я полагаю, из-за проблемы курицы и яйца, связанной с созданием пользователя и установкой пароля, который ограничен минимальным сроком действия пароля 1 день.
//Replace the "unicdodePwd" attribute with a new value
//Password must be both Unicode and a quoted string
String newQuotedPassword = "\"Password2000\"";
byte[] newUnicodePassword = newQuotedPassword.getBytes("UTF-16LE");
mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("unicodePwd", newUnicodePassword));
mods[1] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("userAccountControl",Integer.toString(UF_NORMAL_ACCOUNT + UF_PASSWORD_EXPIRED)));
// Perform the update
ctx.modifyAttributes(userName, mods);
System.out.println("Set password & updated userccountControl");
Я получаюКод ошибки Ldap: 53 проблема 5003 (не удается выполнить), когда он пытается установить пароль, который, я считаю, является минимальным сроком действия пароля.Что действительно странно, так это то, что если я захожу в пользователи и компьютеры активного каталога в качестве администратора домена, я также не могу установить пароль.Единственный способ заставить его изменить это, если я выберу опцию сброса пароля, а затем включу «пользователь должен изменить учетную запись при следующем входе в систему».После этого я могу установить пароль как программно, так и через графический интерфейс.
Я также пытался установить пароль для изменения при следующем входе в систему после создания, но до того, как я изменил пароль в своем коде, но это тоже не сработало.Это изменило поле, но я все еще не смог сменить пароль и получил ошибку 5003.
Кто-нибудь имел опыт использования JNDI для создания пользователей с минимальным сроком действия пароля в Windows 2003?Любая помощь будет высоко ценится.