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