「Windows 10ミニTips」は各回の作成時点で最新のWindows 10環境を使用しています。

昨今のセキュリティ状況を考えると、Windows 10のUAC(ユーザーアカウント制御)は無効にすべきではないが、明らかに安全と思われるプログラムは素早く実行したい。そこで今回は、タスクスケジューラを利用して、UACプロンプトを抑止するショートカットファイルを作成してみよう。

UACは無効にできない

Windows 10はユーザーが意図しないプログラムの実行や設定変更を防ぐため、UAC機能を備えている(完璧には防げないが)。ただ、アプリケーションによっては管理者権限を必要とし、起動するたびにUACプロンプトが現れるのは煩わしいだろう。

プログラムを実行する際に現れるUACプロンプト。「これらの通知を表示するタイミングを変更する」をクリックすると……

かつて筆者はUAC通知の抑止を推奨していたが、セキュリティを取り巻く環境を考えると、現在ではUACの通知オフは推奨できない。

UACプロンプトの通知条件を設定できる。4段階の設定が可能ながらも、最下部の「通知しない」はおすすめできない

ちなみにWindows 8.x以降、UACの無効化は基本的にできなくなり、強制的に無効化するとWindowsストアアプリ、Windows 10ならUWP(ユニバーサルWindowsプラットフォーム)アプリケーションが起動しなくなる。

ここでは、UACプロンプトをコントロールするため、タスクスケジューラ経由でアプリケーションを起動するショートカットファイルの作成方法を紹介しよう。

管理者権限で実行する設定を行う

まずは前準備として、対象となるアプリケーションの実行ファイルに、管理者として実行する設定を行う。

対象となるプログラムの実行ファイルを右クリック/長押しし、「プロパティ」をクリック/タップ

「互換性」タブ→「管理者としてこのプログラムを実行する」→「OK」ボタンと順にクリック/タップ

タスクを作成する

次にタスクスケジューラを起動し、新たなタスクを作成する。

検索ボックスに「タスク」と入力し、「タスクスケジューラ」をクリック/タップで起動

「タスクスケジューラライブラリ」→「タスクの作成」と順にクリック/タップ

タスクの作成ポイントは実行ファイルの指定と、「最上位の特権で実行する」の有効化だ。それ以外は初期状態のままで構わない。

まずは「操作」タブをクリック/タップで開き、「新規」ボタンをクリック/タップ

「参照」ボタンを使って実行するプログラムを選択し、「開始」に同じパスをコピー&ペーストして「OK」ボタンをクリック

次に「全般」タブをクリック/タップで開き、任意の名称を入力。「最上位の特権で実行する」→「OK」ボタンと順にクリック/タップ

ショートカットファイルの設定を変更する

タスクの作成を終えたら、実行ファイルのショートカットファイルを作成し、リンク先を「C:\Windows\system32\schtasks.exe /run /tn NoUAC1」に変更する。この「NoUAC1」は先ほど作成したタスク名を指定すること。

実行ファイルのショートカットファイルを作成したら右クリック/長押しし、「プロパティ」をクリック/タップ

「リンク先」を「C:\Windows\system32\schtasks.exe /run /tn NoUAC1」に書き換え、「実行時の大きさ」を「最小化」に変更して「OK」ボタンをクリック

ただし、ショートカットファイルはアイコンが変更されてしまうので、「アイコンの変更」ボタンで再設定することをおすすめする。後はプログラムを実行すれば、UACプロンプトが現れずに管理者権限で起動するはずだ。

こちらはタスクマネージャーで「管理者特権」の有無を確認している状態

阿久津良和(Cactus)