Thanks, SetPassword does work fine, but doesn't validate the users old password, or check for the complexity requirements. ChangePassword does, but doesn't appear to work.
Do you know of any way to validate a user's username and password? I want them to have to put in their existing password before changing. From: [email protected] [mailto:[email protected]] On Behalf Of David Moorhouse Sent: Thursday, 17 January 2013 8:46 p.m. To: NZ Borland Developers Group - Delphi List Subject: Re: [DUG] IADsUser Change Password Here's the code that I use to reset the password, having opened the ADS connection using an "LDAP://" <LDAP://> string. var UserObject: IADsUser; ... if UserObject.AccountDisabled then begin FErrorMessages.Add(Format('Cannot reset password, AD user account for %s is disabled', [FUserDN])); Exit(false); end; UserObject.SetPassword(FNewPassword); UserObject.SetInfo; (* Complete the operation to update the user object. *) UserObject := nil; ... Hope this helps D Subject: Re: [DUG] IADsUser Change Password Date: Wed, 16 Jan 2013 19:46:27 +1300 From: David O'Brien <[email protected]> <mailto:[email protected]> Reply-To: NZ Borland Developers Group - Delphi List <[email protected]> <mailto:[email protected]> To: NZ Borland Developers Group - Delphi List <[email protected]> <mailto:[email protected]> Great thanks, I don't want to reset at next login, just change the password, so that shouldn't be a problem. From: [email protected] [mailto:[email protected]] On Behalf Of David Moorhouse Sent: Wednesday, 16 January 2013 5:35 p.m. To: [email protected] Subject: Re: [DUG] IADsUser Change Password I've done something similar but ran into problems when I forced a password change at the next login. Some AD rules only allow one password change per day ! I'll look at some code tomorrow for you. D On 16/01/13 17:02, David O'Brien wrote: I am attempting to put together an easy way for users to change domain password when they are out of the office, (or if they have a MAC). IADSUser.Setpassword(NewPassword) works, but doesn't do any checks. IADSUser.ChangePassword(OldPassword, NewPassword) checks that the old password is correct but always fails the new password with "The password does not meet the password policy requirements..." Doesn't matter how complex I make the password. Note: I can change the password normally on the domain without a problem, so I know the passwords I am trying to change to are complex enough. Anyone played with this before? I am using: Var User: IADsUser: ADsOpenObject( 'WinNT://' + edtUser.Text, '[Administrator]', '[admin password]', 1, IADsUser, User) ; User.ChangePassword(edtPass.Text, 'c0mpl!anse'); Regards, Dave. _______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: [email protected] Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to [email protected] with Subject: unsubscribe
_______________________________________________ NZ Borland Developers Group - Delphi mailing list Post: [email protected] Admin: http://delphi.org.nz/mailman/listinfo/delphi Unsubscribe: send an email to [email protected] with Subject: unsubscribe
