eFeng.Leung

[爱我所爱][记我所想][学我所需]
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

修改AD的用户的密码出错,哎

Posted on 2006-01-06 14:42  eFeng.Leung  阅读(1081)  评论(4)    收藏  举报
    private void ChangeUserPassword (string commonName, string oldPassword, string newPassword)

{
            
try
       
{
                    DirectoryEntry de
=new DirectoryEntry("LDAP://DC=***,DC=***","ADUser","ADPassword",AuthenticationTypes.Secure);
                    DirectorySearcher deSearch 
= new DirectorySearcher(de);
                    deSearch.Filter 
= "(&(&(objectCategory=person)(objectClass=user))(cn=" + commonName + "))"
                    deSearch.SearchScope 
=SearchScope.Subtree;
                    SearchResult result 
= deSearch.FindOne();              
                    DirectoryEntry oUser
= new DirectoryEntry(result.Path);
             oUser.Invoke(
"ChangePassword"new Object[]{oldPassword, newPassword});
                     oUser.CommitChanges();
                     oUser.Close();
                 }

            
catch(Exception ex)
            
{
                       
//.
                    }

        }

在oUser.Invoke("ChangePassword", new Object[]{oldPassword, newPassword});
处出错:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Runtime.InteropServices.COMException (0x8007202F): 出现一个约束冲突。