in src/Unosquare.PassCore.PasswordProvider/PasswordChangeProvider.cs [194:216]
private void SetLastPassword(Principal userPrincipal)
{
var directoryEntry = (DirectoryEntry)userPrincipal.GetUnderlyingObject();
var prop = directoryEntry.Properties["pwdLastSet"];
if (prop == null)
{
_logger.LogWarning("The User principal password have no last password, but the property is missing");
return;
}
try
{
prop.Value = -1;
directoryEntry.CommitChanges();
_logger.LogWarning("The User principal last password was updated");
}
catch (Exception ex)
{
throw new ApiErrorException($"Failed to update password: {ex.Message}",
ApiErrorCode.ChangeNotPermitted);
}
}