UAC プロンプトを確認せずに、管理者権限 (昇格) でログイン時にプログラムを実行する方法

UAC プロンプトを確認せずに、管理者権限 (昇格) でログイン時にプログラムを実行する方法

Win 8 アカウントにログインするときにプログラム (WhatPulse) を実行したいです。開発者は、管理者権限で実行することを推奨しています。管理者権限で実行することで「入力精度が向上する」からです。起動/ログイン時に管理者として実行すると、通常、これが OK であることを手動で確認する必要があるという問題があります。そのため、それを回避する方法を探しています。

簡単に言うと、ログインするとプログラム (WhatPulse) が昇格された権限で自動的に起動するはずです。

免責事項: ここには多くの質問があることは承知していますが、他の質問で議論されているいくつかの問題を組み合わせた私の特定の問題は、どれも完全には解決されていません (明確化のため):

  1. プログラムは自動的に管理者権限で実行されるはずです
  2. ユーザーがログインしたときにそうするべきです
  3. 管理者としてプログラムを実行するときに通常表示されるUACプロンプトを回避する必要があります。
  4. これはWin 8.1です

答え1

最終的に、プログラムをスケジュールされたタスクとして実行することで、これを機能させることができました。方法は次のとおりです (使用した設定を示しますが、全体的なアイデアに影響を与えずに一部を変更することもできます)。

  1. 「タスク スケジューラ」を起動します (スタート -> 「タスク スケジューラ」と入力 -> 「タスク スケジューラ」をクリック)
  2. 「タスクの作成...」をクリックします(「アクション」の下)
  3. 「一般」タブ: タスクに名前を付け、「最高権限で実行」および「Windows 8.1 用に構成」を選択します。
  4. 「トリガー」タブ: 「新規...」をクリックし、「ログオン時にタスクを開始する」と「特定のユーザーの設定」を選択して、「OK」をクリックします。
  5. 「アクション」タブ: 「新規...」をクリックし、「参照...」をクリックします。実行するプログラム ファイルに移動して、「開く」をクリックします。次に、「OK」をクリックします。
  6. 「設定」タブ: 「実行時間が長すぎる場合はタスクを停止する」と「実行中のタスクが要求時に終了しない場合は強制的に停止する」を無効/選択解除します (これが必要かどうかはわかりませんが、私はそうしました)
  7. OKをクリックすると完了です

すべてが意図したとおりに動作していることを確認するには、ログアウトして再度ログインします (またはコンピューターを再起動します)。UAC プロンプトは表示されません。

私のように懐疑的な人なら、プログラムが本当に管理者権限で実行されているかどうかも確認したいと思うでしょう。そのためには、

  1. タスクマネージャーを開く(Ctrl + Shift + Esc)
  2. 詳細タブに移動します
  3. 「Elevated」という列が表示されない場合は、列ヘッダーを右クリックして「列の選択」を選択します。「Elevated」(リストの下部近く)にチェックを入れ、「OK」をクリックします。
  4. プロセスの一覧でプログラムを見つけます。「管理者権限」の列に「はい」と表示されている場合、プログラムは管理者権限で実行されています。

関連情報