0

ユーザーの偽装を実行してリモート マシンで管理タスクを実行する C# で記述されたツールがあります。

LOGON32_PROVIDER_DEFAULT で LOGON32_LOGON_NEW_CREDENTIALS を使用すると、リモート マシンのビルトイン管理者アカウントを偽装するとき、または管理者グループに属するドメイン ユーザーを偽装するときに、UAC が無効になることがわかりました。ただし、非ビルトイン ローカル ユーザーが偽装されると (リモート マシンに対してローカル)、昇格されていないトークンが返されます。両方のマシンで同じ資格情報を持つユーザーを作成しても、問題は軽減されません。

この表は、リモート コンピューターで使用するための昇格されたトークンの取得に成功したことを示しています。

作業シナリオを示すグラフ http://img521.imageshack.us/img521/3605/fo69.png

すべてのユーザーは管理者グループに属しています。

UAC をオフにしたり、ターゲット コンピューターで抜本的な操作を行ったりしない、この問題に対する既知の解決策はありますか? リモート コンピュータは顧客が制御し、変更を加えることはできません。UAC が両端で実行されていると見なされ、実行されている必要があります。

興味深い点として、上記の質問を損なうものではありませんが、リモート WMI を使用するとまったく同じ動作が見られます。

4

1 に答える 1

0

これは、リモートサーバーで UAC が有効になっていることが原因である可能性があります。これは、リモート マシンに接続すると、たとえ管理者であっても、リモート マシンで操作するときにそれらの権限を剥奪されることを意味します。

これを制御するグループ ポリシー オプションがあります。

LocalAccountTokenFilterPolicy

編集:適切な KB 記事「Windows Vista でのユーザー アカウント制御とリモート制限の説明」へのリンクを修正しました。

ドメイン管理者ではなくローカル管理者にのみ適用されるのはなぜですか? それがオプションの機能であるため、 「ローカル管理者グループのメンバー」のみを制限します。

ドメイン ユーザー アカウントを持つユーザーがリモートで Windows Vista コンピューターにログオンすると、ドメイン ユーザーはリモート コンピューターで完全な管理者アクセス トークンを使用して実行され、UAC は有効になりません。

ターゲットのリモート コンピューターのローカル管理者グループのメンバーであるユーザーがリモート管理接続を確立すると、完全な管理者として接続されません。

このポリシーは、ドメイン管理者アカウントをローカル管理者アカウントとは異なる方法で扱います。それが違う理由です。

グループ ポリシーを無効にして、問題が解決するかどうかを確認してください。あなたのケースを正確に説明しているようです。リモート マシンでグループ ポリシー オプションを無効にしてみてください

UAC リモート制限を無効にするには、次の手順に従います。

  1. [スタート] ボタン、[ファイル名を指定して実行] の順にクリックし、 「 regedit 」と入力して Enter キーを押します。
  2. 次のレジストリ サブキーを見つけてクリックします:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  3. LocalAccountTokenFilterPolicy レジストリ エントリが存在しない場合は、次の手順に従います。

    a. [編集] メニューの [新規作成] をポイントし、 [ DWORD 値] をクリックします。
    b. LocalAccountTokenFilterPolicyと入力し、Enter キーを押します。

  4. LocalAccountTokenFilterPolicyを右クリックし、[変更] をクリックします。

  5. [値のデータ]ボックスに1と入力し、[ OK ] をクリックします。
  6. レジストリ エディターを終了します。
于 2014-01-01T18:59:46.037 に答える