asp.net修改AD域密码提示 调用的目标发生了异常
小孩快跑 2016-08-23 09:02:55 网上的代码用了,可以访问到用户信息,所属组别,但是就是修改不了密码,或者重设密码。网上帖子说去掉端口,可以但是我去掉了,还是不行。同事说服务器的密码策略改简单了,但是我觉得还有一些服务器设置没有设置好,请问大神们,还需要服务器设置什么信息吗??
DirectoryEntry AD = new DirectoryEntry();
AD.Path = string.Format("LDAP://{0}", IPAddress);
AD.Username = "domain" + @"\" + UserName;
AD.Password = OldPassWord;
AD.AuthenticationType = AuthenticationTypes.Secure;
try
{
DirectorySearcher searcher = new DirectorySearcher(AD);
searcher.Filter = String.Format("(&(objectClass=user)(samAccountName={0}))", UserName);
System.DirectoryServices.SearchResult result = searcher.FindOne();
if (result != null)
{
DirectoryEntry userEntry = result.GetDirectoryEntry();
if (userEntry != null)
{
try
{
userEntry.Invoke("ChangePassword", new Object[] { OldPassWord, NewPassWord });
userEntry.CommitChanges();
userEntry.Close();
ViewData["Msg"] = "修改密码成功!";
}
catch (Exception ex)
{
ViewData["Msg"] = "操作失败,错误原因:" + ex.ToString();
}
}
}
else
{
ViewData["Msg"] = "操作失败,未知账号或密码错误!";
}
AD.Close();
}
catch (Exception ex)
{
ViewData["Msg"] = "操作失败,错误原因:" + ex.ToString();
}
这种不行,包括去掉端口,