以下MVC Web API代码可正常运行

directoryEntry.Invoke("SetPassword", "desired password");
directoryEntry.CommitChanges();


但是相同的应用程序/服务帐户在尝试时会出错

directoryEntry.Invoke("ChangePassword", "old password", "new password");
directoryEntry.CommitChanges();


错误详情:
System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

调用ChangePassword是否需要与SetPassword不同的权限?

最佳答案

由于检查了“用户无法更改密码”设置标志,您可能会收到拒绝访问错误。您要允许其密码更改的所有用户都需要取消选中该设置。

关于c# - Active Directory访问拒绝DirectoryEntry上的异常。调用ChangePassword,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24214981/

10-11 16:19