[DUG] IADsUser Change Password

David Moorhouse delphi at moorhouse.net.nz
Thu Jan 17 20:46:08 NZDT 2013


Here's the code that I use to reset the password, having opened the ADS 
connection using an "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 <Dave at iccs.co.nz> <mailto:Dave at iccs.co.nz>

*Reply-To: *

	

NZ Borland Developers Group - Delphi List <delphi at listserver.123.net.nz> 
<mailto:delphi at listserver.123.net.nz>

*To: *

	

NZ Borland Developers Group - Delphi List <delphi at listserver.123.net.nz> 
<mailto:delphi at listserver.123.net.nz>

Great thanks, I don't want to reset at next login, just change the 
password, so that shouldn't be a problem.

*From:*delphi-bounces at listserver.123.net.nz 
<mailto:delphi-bounces at listserver.123.net.nz> 
[mailto:delphi-bounces at listserver.123.net.nz] *On Behalf Of *David Moorhouse
*Sent:* Wednesday, 16 January 2013 5:35 p.m.
*To:* delphi at listserver.123.net.nz <mailto:delphi at listserver.123.net.nz>
*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:delphi at listserver.123.net.nz  <mailto:delphi at listserver.123.net.nz>

    Admin:http://delphi.org.nz/mailman/listinfo/delphi

    Unsubscribe: send an email todelphi-request at listserver.123.net.nz  <mailto:delphi-request at listserver.123.net.nz>  with Subject: unsubscribe


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://listserver.123.net.nz/pipermail/delphi/attachments/20130117/18442ea4/attachment.html 


More information about the Delphi mailing list