遵循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不同的权限?
答案 0 :(得分:3)
由于“用户无法更改密码”设置标志被检查,您可能会收到访问被拒绝错误。您要为其更改密码的任何用户都需要取消选中该设置。
答案 1 :(得分:1)
检查IIS7中的应用程序池标识用户,设置具有更改AD密码的管理员权限的用户
你可以在iis 7>>下找到它应用程序池然后选择您的应用程序使用的应用程序池,然后右键单击它并选择高级设置,然后在此下面找到Process Model,您将在此处找到Identity属性设置具有管理员权限的正确用户