0

誰かがこれを手伝ってくれますか?このコードはxp32ビットで正常に実行されていますが、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 に答える