Windows 10移行相談室

スタートアップに登録したアプリが起動しない!

管理者権限が必要なソフトを「タスク スケジューラ」を利用して自動起動させる方法

 Windows 10への無償アップグレード期間も残すところあと1カ月ほど。すでに、Windows 10に移行した読者も多いのではないだろうか。しかし、Windows 10にしてみたものの、Windows 7/8.1では何気なくできた“アレ”ができないといったことがあるかもしれない。本連載では、Windows 10に移行した際に発生しがちなトラブルの解決方法をお伝えする。

スタートアップに登録したはずのアプリが自動起動しない?

Windows 10はセキュリティ強化をしているためか、[互換性]タブの[管理者としてこのプログラムを実行する]にチェックを入れたショートカットファイルは実行されないケースが多い

 ショートカットファイルを保存することで、サインイン時にアプリケーションを自動起動するスタートアップフォルダーを便利に使っているユーザーは少なくない。だが、一部のアプリケーションは管理者権限を必要とするため、意図する機能を実現できないのが現状だ。

 たとえば、稼働中のプロセスを一覧表示し、多彩な情報を取得できるSysinternalsの「Process Explorer」をスタートアップフォルダーに登録すると、そのままの状態なら起動する。だが、プロパティダイアログの[互換性]タブに並ぶ[管理者としてこのプログラムを実行する]にチェックすると起動しない。これはセキュリティレベルの向上に伴う仕様変更としては望ましいものの、イベントログなどに記録が残っていないため、ロジックとしてはわかりにくい。

標準ユーザーで「Process Explorer」を起動しているため、一部のプロセスにアクセスできずに情報を確認できない

 この問題を回避するには、「タスク スケジューラ」を利用すればよい。任意の名称をもつタスクを新たに作成し、[全般]タブでは[最上位の特権で実行する]をチェックオン。[トリガー]タブではタスクのトリガー条件として[ログオン時]を選択する。この方法でスタートアップフォルダーにショートカットファイルを作成しなくとも、Windows 10サインイン時に指定したアプリケーションがUAC(ユーザーアカウント制御)プロンプトも現れずに、管理者権限で実行できる。

「タスク スケジューラ」で新しいタスクを作成し、[操作]タブで実行するアプリケーションをフルパスで指定する
[全般]タブでは[最上位の特権で実行する]にチェックを入れることで、管理者権限によるアプリケーションの実行が可能になる
[トリガー]タブではトリガー条件を[ログオン時]として指定する。今回は全ユーザーに対して設定を行っているが、自分自身に切り替えてもよい
管理者権限で起動した「Process Explorer」。先ほどとは違ってすべてのプロセスを確認できる

 なお、この「タスク スケジューラ」を用いてUACを表示を回避する方法は通常のショートカットファイルにも適用可能だ。使用頻度は低いながらも実行時は管理者権限を必要とするアプリケーションのショートカットファイルとタスクを作成し、ショートカットファイルのリンク先を“C:Windowssystem32schtasks.exe /run /tn NoUAC1”に変更。タスク名“NoUAC1”に実行するアプリケーションのパスなどを指定すればよい。