0
以下是用于重置密码的代码。
我想停止这种行为。
只有新密码才能使用。用户不应该能够使用旧密码登录。使用C#在Active Directory中重置用户密码后,旧密码和新密码都可以使用
using (var search= new DirectorySearcher(dir))
{
search.Asynchronous = false;
search.CacheResults = false;
dirSearch.Filter = "(&(objectCategory=User)(objectClass=person)(name=" + UserName.Trim() + "))";
SearchResult result = dirSearch.FindOne();
if (result != null)
{
using (var entryUpdate = result.GetDirectoryEntry())
{
entryUpdate.Invoke("setpassword", new object[] { NewPassword });
entryUpdate.CommitChanges();
//entryUpdate.RefreshCache();
}
}
result = null;
}
有人可以帮助我吗? –
您可能首先要询问http://serverfault.com/,因为首先允许一个以上的密码看起来很特殊,甚至可能不可能。据我所知,这首先不是严格可行的,所以你可能还有别的事情正在进行。这不太可能与c#调用相关,并且[你正在调用的](https://msdn.microsoft.com/en-us/library/aa746344(v = vs.85).aspx)没有提及多个密码或不得不先删除旧密码或其他东西。如果可能的话,你至少应该检查返回值。 – Quantic