0

有人可以帮我解决这个问题吗?我让这段代码在 xp 32 位上运行良好,但在 xp 64 位上“user.SetPassword”(不是 .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 修改目标用户。

有任何想法吗?

4

1 回答 1

1

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

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

于 2012-06-01T18:01:46.747 回答