The first thing that comes to mind is "permissions". When you run it from the command line, what account are you using? Does this account have permissions to change the password?
Then, what about ColdFusion? Are you running the CF service(s) with an account that has permission to change the password? What platform and what LDAP server are you using? M!ke -----Original Message----- From: Dimo Michailov [mailto:[EMAIL PROTECTED] Sent: Monday, July 11, 2005 12:12 PM To: CF-Talk Subject: Change AD password via LDAP/JNDI - HELP!! Hello all- I have spent many sleepless nights on this one and I feel like I am getting close to the solution, but I will need some help as my Java experience is *very* limited. I found some Java code that resets the AD password via LDAP/SSL. The code works successfully and the password is changed when I compile it with javac.exe and then execute it with java.exe. However, when I run the same code via ColdFusion, I get message that the password has been changed, but in fact it remains unchanges. The setpass.java file is below. Again, once compiled into .class run from the command line using "java -cp . setpass" the password change works. However, if I run the same code via ColdFusion, I get a "success" message in coldfusion-out.log but the password does not change. Because it runs when executed via command line and doesn't seem to do anything when called from ColdFusion, I am stumped. Can anyone please help? Execution code in ColdFusion, ========================================================= <cfobject action="CREATE" type="JAVA" name="x" class="setpass"> <cfscript> zz = ArrayNew(1); zz[1]="1"; zz[2]="2"; zz[3]="3"; x.main(zz); </cfscript> setpass.java (placed in a classes path under CFMX7 tree) ============================================================ import java.util.Hashtable; import javax.naming.*; import javax.naming.ldap.*; import javax.naming.directory.*; import java.io.*; public class setpass { public static void main (String[] args) { Hashtable env = new Hashtable(); String adminName = "CN=Cold Fusion AD Manager,CN=Users,DC=subdomain,DC=domain,DC=domain"; String adminPassword = "myADadminPassword"; String userName = "CN=Test User To Have Password Changes,OU=Test,DC=subdomain,DC=domain,DC=domain"; String newPassword = "newPassword12345"; String keystore = "C:/CFusionMX7/runtime/jre/lib/security/cacerts"; System.setProperty("javax.net.ssl.trustStore",keystore); env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactor y"); //set security credentials, note using simple cleartext authentication env.put(Context.SECURITY_AUTHENTICATION,"simple"); env.put(Context.SECURITY_PRINCIPAL,adminName); env.put(Context.SECURITY_CREDENTIALS,adminPassword); //specify use of ssl env.put(Context.SECURITY_PROTOCOL,"ssl"); //connect to my domain controller String ldapURL = "ldaps://law.georgetown.edu:636"; env.put(Context.PROVIDER_URL,ldapURL); try { // Create the initial directory context LdapContext ctx = new InitialLdapContext(env,null); //set password is a ldap modfy operation ModificationItem[] mods = new ModificationItem[1]; //Replace the "unicdodePwd" attribute with a new value //Password must be both Unicode and a quoted string String newQuotedPassword = "\"" + newPassword + "\""; byte[] newUnicodePassword = newQuotedPassword.getBytes("UTF-16LE"); mods[0] = new ModificationItem(DirContext.REPLACE_ATTRIBUTE, new BasicAttribute("unicodePwd", newUnicodePassword)); // Perform the update ctx.modifyAttributes(userName, mods); System.out.println("Reset Password for: " + userName); ctx.close(); } catch (NamingException e) { System.out.println("Problem resetting password: " + e); } catch (UnsupportedEncodingException e) { System.out.println("Problem encoding password: " + e); } } } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:211583 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54