Windows 7 でUAC の警告なしでプログラムを実行する
表題の件ですが、セキュリティーオプションを外す方法ではなく、ちょっと、ググってみても簡単には出てこないので、こういうやり方もありだなあ、ということでメモしておきます。
Windows 7 では 管理者で実行するショートカットがスタートアップにあるとき、このプログラムが実行されないのが仕様であるらしい。これを回避するために、タスクスケジューラで「ログオン時」「スタートアップ時」に「最上位の特権」で実行すれば、管理者権限でスタートアッププログラムが正しく実行される。
で。
このとき、ちゃんと確認してみるまで、よくわからなかったのだが、タスクスケジューラの「最上位の特権」で実行された場合、Windows Vista で登場した悪しき、UAC の暗転のダイアログが出てこないままに、プログラムが実行されるということに驚いた。
ということは、暗転が面倒くさいプログラムを、スケジュールでは絶対に実行されないように過去日付にして、タスクスケジュールに登録し、名前も簡単な名前にしておけば、ショートカットで、
schtasks /run /tn "taskname"
で、暗転なしで管理者実行される。少なくとも、コマンドプロンプトではうまくいきましたので、ユーザーのわがまま、低いリテラシーや、運用ルールにがんじがらめになっている方は、試してみてください。本当は、こんなことはやっちゃだめだよ。
ちなみに、ほんとうは、substコマンドでのディレクトリのマッピングを、管理者コマンドプロンプトでやりたかったのだが、管理者コマンドプロンプトと、一般コマンドプロンプトだと、subst は 別々に認識されてしまうらしく、本来の目的は達せず。デスクトップを subst でマッピングしたら、ディレクトリ名が長すぎるときに、ffftp かなにかが誤動作することがあるので、管理者で実行すればいいと思ったのだが、問題は別のところにあるようだ。そういえば、この現象の回避は、ffftp を管理者モードで実行して回避したんだっけな。かといって、ディレクトリを別のドライブにマッピングするツールを探してインストールするのもアレだしなあ。。。
ごきげんよう。