DirectoryServices.AccountManagement.UserPrincipal.SetPasswor

本文关键字:SetPasswor UserPrincipal AccountManagement DirectoryServices | 更新日期: 2023-09-27 18:36:06

有人可以帮我解决这个问题吗? 我有这段代码在 xp 32 位上运行良好,但在 xp 64 位"用户"上运行良好。设置密码"(不是 .save()) 抛出一个异常:

"调用目标已引发异常。"

{"访问被拒绝(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))"}

代码:

        UserPrincipal user = UserPrincipal.FindByIdentity
          (new PrincipalContext(ContextType.Domain, Domain, "MYADMINUSER", "MYADMINPASSWORD"), IdentityType.SamAccountName, Account);
        user.SetPassword("BlahBlahBlah");
        user.Save();

两个客户端位于同一域中,并且这两种情况下的目标都是同一用户。"MYADMINUSER"可以登录到两个客户端,并使用ADUC修改目标用户。

有什么想法吗?

DirectoryServices.AccountManagement.UserPrincipal.SetPasswor

这很可能与 32 位或 64 位无关。这可能是用户帐户控制阻止该操作的问题。可以尝试右键单击应用并选择"以管理员身份运行"进行检查。

请参阅步骤 6:创建和嵌入应用程序清单 (UAC),了解如何向应用程序添加可用于使其自行请求必要特权提升的清单。