[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