特定のプログラムの UAC を無効にする (Windows 10)

特定のプログラムの UAC を無効にする (Windows 10)

Windows 8.1 では、次のレジストリ変更により、管理者権限を持つユーザーは、User Access Controlコンピューターへの変更に関するポップアップ警告を表示せずに特定のアプリケーションを起動できるようになりました。

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\path\\to\\app\MyApp.exe"="RunAsInvoker"

たとえば、Registry EditorUAC プロンプトを使用して .reg ファイルを開いたり結合したりするには、次のようにします。

"C:\\Windows\\regedit.exe"="RunAsInvoker"

Windows 10 ではこれを動作させることができません。UAC プロンプトは必ず表示されます。これは Windows 10 で可能ですか?

答え1

これはタスク スケジューラで実行できます。レジストリをいじくり回すよりもずっと良い方法です。レジストリをいじると、簡単に問題が発生する可能性があります。

特定のアプリのUACを無効にする

Windows: ユーザー アカウント制御は、特定のアプリに対して毎回承認を求めるので、煩わしい場合があります。

ヒントとコツのブログ MakeUseOf では、この煩わしさを回避するために、頻繁に問題が発生するタスクをタスク スケジューラに追加することを提案しています。

このプロセスは少し面倒ですが、タスク スケジューラに慣れていれば簡単です。

タスク スケジューラで、「タスク スケジューラ ライブラリ」を右クリックし、「新しいフォルダー」を選択して、任意の名前を付けます。

新しいフォルダを選択し、「タスクの作成」(「基本タスクの作成」ではありません)をクリックします。

タスクにわかりやすい名前を付けます。「最上位の権限で実行」を有効にし、「構成対象」で OS を選択します。

[アクション] タブで、[アクション] ドロップダウンから [プログラムの開始] を選択します (まだ選択されていない場合)。[参照] をクリックして、アプリの .exe ファイル (通常は C: ドライブの Program Files にあります) を見つけます。

(ラップトップ) [条件] タブで、[コンピューターが AC 電源に接続されている場合にのみタスクを開始する] の選択を解除します。

デスクトップで右クリックし、[新規] > [ショートカット] を選択します。テキスト ボックスに「C:\Windows\System32\schtasks.exe /RUN /TN "フォルダー名\タスク名"」を貼り付けます。

これにより、コンピュータに変更を加えるための許可を求めるプロンプトを自動的にスキップするプログラムへのリンクが作成されます。

アプリのアイコンは転送されませんが、これは簡単に修正できます。

このソリューションは、UAC がプログラム (システム以外のプログラム) をインターセプトした場合に、スタートアップ フォルダーからプログラムを起動するために使用できます。それ以外の場合、UAC はプログラムをブロックし (プロンプトや何が起こったかの手がかりなしで)、プログラムは起動しません。

上記の方法は、スケジューラフォルダとタスク名のスペースをアンダースコアに置き換えたときにうまくいきました。

答え2

レジストリエディタの質問に関しては、Windows 10 21H2で直接編集すると、有効な解決策が見つかりました。RegEditTask Scheduler残念ながら、作成されたショートカットを実行しても何も起こらないため、この答えは私にとってはうまくいきませんでした。そのため、私は次のRegistry Editor解決策を採用しました。

レジストリでは、RUNASADMIN使用しているアプリ/プログラムアドレスを持つ文字列値に添付された値データとしての命令~ RUNASINVOKER少なくとも、管理者ユーザーアカウントを使用している私にとっては、呼び出し元としては問題なく動作します。上記の指示に従ってレジストリアドレスにアクセスすると、

[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]

特定のプログラムを追加するか、既存の文字列を編集することができます。どちらの場合も、例は次のようになります D:\APPS\HWAIDA64_Extreme\AIDA64_Extreme_6.60.5900\aida64.exe文字列値/名前、~ RUNASINVOKERとして値データ

申し訳ありませんが、これは私の最初のスーパーユーザーの投稿なので、解決策/回答を最も明確かつ最適に説明する方法がわかりません。あまり混乱しないように願っています。

*編集 この方法をテストするために最初に使用したプログラムは、管理者として実行する必要がなかったようです。少なくとも、私が最初に使用していた方法ではそうではありませんでした。つまり、昇格された権限で実行する必要のあるアプリケーションでこの方法を試した途端、そのアプリケーションを~ RUNASINVOKER命令が で追加されRegistry Editorました。アプリケーションが動作しなくなりました。これは本当に最悪で、Task Scheduler解決策が機能しないので、運が悪く振り出しに戻ってしまいました。ノウハウのある人が、小さなバッチ ファイル/スクリプト/アプリケーションなどを作成して、必要なプログラムを簡単にホワイトリストに追加し、必要なすべての非 UAC プロンプト プログラムを追加できるようにしてくれたらよかったのにと思います... 残念ながら、これはおそらく のままでしょうdream

答え3

これはポータブルツールで簡単に行うことができますUACパス(ダウンロードここ)。

この方法で起動したプログラムでは、これらのプログラムが突然高解像度モニター上で正しく DPI を認識しなくなるという問題のみが発生し、奇妙なことに、プログラム ウィンドウの特定の領域、たとえばそれぞれのプログラムのツールバーでのみ発生します。

これは確かに UAC Pass によるものではありませんが、一般的にはタスク スケジューラ経由の起動方法に関連している可能性があります。

答え4

次のサイトにアクセスしてください:

レジストリ エディターの [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]。

次に、文字列値を作成し、.exe ファイルのディレクトリを配置して、値を に設定します~ RUNASINVOKER。Windows 11 で動作します。試してみました。

関連情報