This is a well known behavior. Sorry, but I don't remember the details, but I
do remember a good thread on this. Check in the archives. It was a while back,
so it may be in the retired DOTNET list archives.

Keep Smilin'
Ed Stegman

-----Original Message-----
From: Moderated discussion of advanced .NET topics.
[mailto:[EMAIL PROTECTED] Behalf Of Ollie Riches
Sent: Monday, June 09, 2003 2:47 AM
To: [EMAIL PROTECTED]
Subject: Changing Password in Active Directory using Directory Services
namespace


I am invoking the 'ChangePassword' method on the DirectoryEntry object for a
user, this successfully changes the passsword for the user and I can login
with the new password, BUT the old password is also valid so I can login
with either the new or old password until the win32 process has been
shutdown. It appears the changes are not getting flushed into the AD
correctly....

Has anyone else seen this?

Has anyone got a solution?

I have tried turning off property caching using the 'UsePropertyCache'
property and then reloading the properties using the 'RefreshCache' method
but this did not help.

The code used to reset the password is shown below:-

private void ChangePassword(System.DirectoryServices.DirectoryEntry entry,
string oldPassword, string newPassword)
{
object[] pwd = new object[] {oldPassword, newPassword};
entry.Invoke("ChangePassword", pwd);
//Commit the changes back into directory service
entry.CommitChanges();
entry.RefreshCache();
}

Cheers in Advance

Ollie

Reply via email to