C#修改AD域的用户密码时报“调用的目标发生了异常”的问题。
为了帮助网友解决“C#修改AD域的用户密码时报“调用的目标”相关的问题,中国学网通过互联网对“C#修改AD域的用户密码时报“调用的目标”相关的解决方案进行了整理,用户详细问题包括:异常密码c#计算机程序报这样的问题“操作失败,错误原因:System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.Runtime.InteropServices.COMException: 无法从域控制器读取配置信息,因为计算机不可用,或者因为访问已被拒绝。 (异常来自 HRESULT:0x80070547)”,具体解决方案如下:
解决方案1:
我重置密码的时候就报“ RPC 服务器不可用” 但是我确实是启动了的。
userEntry.Invoke("SetPassword", new object[] { "jgwjwgfwj" });
修改密码就是报"无法从域控制器读取配置信息,因为计算机不可用,或者因为访问已被拒绝"
userEntry.Invoke("ChangePassword", new object[] { "oldpassword", "newpassword" });
解决方案2:
确保域名称正确,确保已经使用域管理员通过身份验证
解决方案3:
不知道你的代码是什么,给你一个域帐号遍历的例子
http://www.huiyaosoft.com/html/csharpad.htm
解决方案4:
DirectoryEntry de = new DirectoryEntry(IPAddress, "username", "password", AuthenticationTypes.Secure);
DirectorySearcher searcher = new DirectorySearcher(de);
searcher.Filter = String.Format("(&(objectClass=user)(sAMAccountName={0}))", "username");
SearchResult result = searcher.FindOne();
if (result != null)
{
DirectoryEntry userEntry = result.GetDirectoryEntry();
if (userEntry != null)
{
try
{
userEntry.Invoke("SetPassword", new object[] { "@ewdef.125" });
// userEntry.Invoke("ChangePassword","bi.123456", "malei..3917");
userEntry.CommitChanges();
userEntry.Close();
}
catch (Exception ex)
{
return Reark = "操作失败,错误原因:" + ex.ToString();
}
}
这个就是我的所有代码
解决方案5:
你给我的那个例子 只是做查询的 哪些功能我都已经实现 现在唯一的问题就是不能修改密码 新增和删除还是可以的