Windowsの小ネタです。
多くの人が知っている内容になるかと思いますが、マウス、Wi-Fi や CPU 設定(監視)など、管理者権限で起動しておかないと肝心の命令実行時(設定変更時)に権限が不足していて、思った動作しないということがよくあります。
今回は、手っ取り早くスタートアップに管理者権限のアプリを入れてしまう方法です。
今回のミッション
- Windows のスタートアップで管理者権限でアプリを動かす
今回のキーワード
- タスクスケジューラ
- 管理者権限
設定環境
Windows10 Professional 64bit
ショートカットに管理者権限をつける
私的な都合で、私の PC ではスタートアップ時に「管理者権限」付きで「TeraTermMenu」を起動して欲しくなりました。
デフォルトでスタートアップされているので、そのままショートカットに(元ファイルに)「管理者としてこのプログラムを実行する」設定を加えて放置しても、自動で起動はしてくれません。
Windows のセキュリティ的な問題で、そうなっているのですが、セキュリティを緩めすぎてしまうのも何かと自信がもてないので、このプログラムだけ特別に実行できるように設定します。
まずはタスクスケジューラを起動する
タスクスケジューラの起動方法は多々ありますが、最も原始的にはスタートメニューをたどる方法が無難です。
[スタート]-[コントロール パネル]-[システムとメンテナンス]-[管理ツール]-[タスク スケジューラ]
自分の管理下にない PC の場合、限定的にしかスタートメニューをたどれないことがありますが、この場合は管理者モードでコマンドプロンプトします。
cygwin
C:\Users\test\ taskschd.msc
タスクスケジューラでタスクを作成する
タスクスケジューラの[/st-kaiwa3]
[全般][トリガー][操作][条件][設定]のそれぞれのタブを設定していきます。
[全般]タブでは「わかりやすい名前」をつけておくこと、「最上位の特権で実行する」にチェックを入れておくことだけがポイントです。バックグラウンドで動かすようなアプリでなければ、「ユーザーがログオンしているしているときのみ実行する」で問題ありません。
[トリガー]タブは実行するタイミングを設定します。時限爆弾のように、何月何日のような設定も可能ですが、ここではスタートアップ時に実行することが目的なので、スタートアップをもしくはログオン時を選択します。デーモン系のプログラムの場合はスタートアップの方が、それ以外の小物プログラムの場合はログオン時を選んでおきます。
[操作]タブで実行するプログラムを指定します。
普通に「参照」ボタンをクリックして、実行したいプログラムを指定するだけです。コマンドオプション等も指定できますが、今回は必要ないのでそのまま何もしないで次のタブに移ります。
[条件]タブでさらにプログラムを実行する条件を指定します。
バッテリー接続時にのみ実行などは、特定のプログラムの時は大切な条件ですが、今回はそんなに複雑な指定は必要ないので、すべてチェックを外します。これで、無条件で実行されます。
最後に[設定]タブです。
タスクが実行できなかった場合の再開、再起動などを指定できますが、デーモン系のプログラムで無い限り通じよう扱いで問題ありません。
マル1は、プログラムの実行要求があったら実行する。
マル2は、タスクを閉じたいのに閉じることができない場合は、強制的に閉じるという意味で、UNIX 系の kill -9 sと同じような意味合いです。実行するプログラムが小物ですので、強制停止してくれても大きな影響はありません。
最後に
今回紹介した方法は雑簡単ですが、雑ですので、セキュリティ重視の場合はもう少し考察した方が無難です。人様や会社管理の PC などには、たとえつまらないアプリであってもこういった設定してしまうと、人となりを疑われるリスクがありますので、自分の管理下だけの処置にとどめておきましょう。
このページは、後々に Cygwin 関係で参考にしてもらえるように作成しています。