protected void Button1_Click(object sender, EventArgs e)
{
string usernamewithoutdomain;
usernamewithoutdomain = txtUsername.Text;
if (txtUsername.Text.Contains(@"\"))// split string
{
usernamewithoutdomain = txtUsername.Text.Substring(txtUsername.Text.LastIndexOf('\\') + 1);
}
ChangeMyPassword("domainname", usernamewithoutdomain, txtCurrentPassword.Text, txtNewPassword.Text);
}
public void ChangeMyPassword(string domainName, string userName, string currentPassword, string newPassword)
{
try
{
string ldapPath = LDapUrl;// directory path
DirectoryEntry directionEntry = new DirectoryEntry(ldapPath, domainName + "\\" + userName, currentPassword);
if (directionEntry != null)
{
DirectorySearcher search = new DirectorySearcher(directionEntry);
search.Filter = "(SAMAccountName=" + userName + ")";
using (var context = new PrincipalContext(ContextType.Domain))
{
using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName))
{
user.ChangePassword(currentPassword, newPassword);
}
}
}
}
catch (Exception ex)
{
}
finally
{
}
}
}
{
string usernamewithoutdomain;
usernamewithoutdomain = txtUsername.Text;
if (txtUsername.Text.Contains(@"\"))// split string
{
usernamewithoutdomain = txtUsername.Text.Substring(txtUsername.Text.LastIndexOf('\\') + 1);
}
ChangeMyPassword("domainname", usernamewithoutdomain, txtCurrentPassword.Text, txtNewPassword.Text);
}
public void ChangeMyPassword(string domainName, string userName, string currentPassword, string newPassword)
{
try
{
string ldapPath = LDapUrl;// directory path
DirectoryEntry directionEntry = new DirectoryEntry(ldapPath, domainName + "\\" + userName, currentPassword);
if (directionEntry != null)
{
DirectorySearcher search = new DirectorySearcher(directionEntry);
search.Filter = "(SAMAccountName=" + userName + ")";
using (var context = new PrincipalContext(ContextType.Domain))
{
using (var user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, userName))
{
user.ChangePassword(currentPassword, newPassword);
}
}
}
}
catch (Exception ex)
{
}
finally
{
}
}
}