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