我在其中一台服务器上部署了一个Web服务,该服务在内部使用System.DirectoryServices来使用以下代码更改密码:
DirectoryEntry obDirectoryEntry = GetCurrentUserDirectoryEntry();
obDirectoryEntry.Invoke("ChangePassword", new object[] { sOldPassword, newPassword });
obDirectoryEntry.CommitChanges();
obDirectoryEntry.Close();
此特定于不同域名时,此Web服务正常运行,但在从其他域名中搜索时失败并出现以下错误:
无法从域控制器读取配置信息,因为计算机不可用或访问被拒绝。
这可能是什么原因?什么是解决方法?
非常感谢, 依禅
答案 0 :(得分:0)
需要有关特定网络设置的更多信息,但解决方法是指定有效的DomainController。
在GetCurrentUserDirectoryEntry()
方法中,您可以使用重载:
var user = new DirectoryEntry("LDAP://WorkingDomainController", ...);
请参阅:http://www.codeproject.com/KB/system/everythingInAD.aspx#7