我们正在尝试通过 C# ASP.NET 4.5 应用程序更改 Active Directory 中的用户密码(我们将使用“Jane”作为示例用户),但我们收到以下错误。
Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied. (Exception from HRESULT: 0x80070547)
可以毫无问题地建立与远程(第 3 方)AD 服务器的连接,并且我们的服务用户已通过身份验证。也可以毫无问题地检索 Jane 的目录条目。
我们尝试更改/设置密码,同时作为 Jane 和我们的服务用户进行身份验证,两者都产生相同的错误(上图)。
下面是一个正在使用的代码示例。
using (var context = new PrincipalContext(ContextType.Domain, ServiceDomain, ServiceDefaultLocation, ContextOptions.Negotiate, ServiceUser, ServicePassword))
using (var identity = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, "Jane"))
{
// identity.SetPassword("SomeNewPassword"); // also tried
identity.ChangePassword("TheOldPassword", "SomeNewPassword"); // this is the error line
identity.Save();
}
系统事件日志显示更改/设置密码审核失败,原因列为“登录期间发生错误”。身份验证包列出“MICROSOFT_AUTHENTICATION_PACKAGE_V1_0”。在此之前,我们有针对我们的服务用户的审核成功事件。
值得注意的是,它大约是。在我们收到错误前 20 秒,表明它可能是连接/超时问题,但是传出连接不受限制,并且我们的 IP 已在远程端列入白名单(再次,我们可以连接并检索用户条目)。不过,作为用户进行身份验证也可能需要很长时间(这仍然可以成功)。
我们的服务用户有权更改/设置其他用户的密码,但不能直接更改用户属性,因此我们被告知。
如果有任何其他信息可能有助于诊断问题,请告诉我。
宝慕林4294392
慕少森
鸿蒙传说
相关分类