0

我在其中一个服务器上部署了一个 Web 服务,该服务器内部使用 System.DirectoryServices 使用以下代码更改密码:

            DirectoryEntry obDirectoryEntry = GetCurrentUserDirectoryEntry();
            obDirectoryEntry.Invoke("ChangePassword", new object[] { sOldPassword, newPassword });
            obDirectoryEntry.CommitChanges();
            obDirectoryEntry.Close();

当从特定的不同域命中时,此 Web 服务工作正常,但从其他域命中时失败并出现以下错误:

无法从域控制器读取配置信息,原因可能是机器不可用,或者访问被拒绝。

这可能是什么原因?解决方法是什么?

非常感谢,伊山

4

1 回答 1

0

需要有关特定网络设置的更多信息,但解决方法是指定有效的 DomainController。

在您的GetCurrentUserDirectoryEntry()方法中,您可以使用重载:

var user = new DirectoryEntry("LDAP://WorkingDomainController", ...);

请参阅: http: //www.codeproject.com/KB/system/everythingInAD.aspx#7

于 2012-01-18T10:15:58.853 回答