バッチファイルを管理者権限で実行する方法 【UAC有効、パスワード問い合わせなし】

  • 投稿 : 2012-04-12
  • 更新 : 2013-05-11

想定されること

・バッチファイルを管理者権限で実行したい
・バッチファイルの中で管理者権限の必要なプログラムを呼び出したい
・runas で実行するとパスワード入力が必要なので困る
・UAC有効で運用したい
・UAC昇格確認が出てほしくない

上記のような感じのことを実現する方法。
動作は、Windows7で確認しました

タスクスケジューラを使う方法


上記の要望をすべて満たすためには、タスクスケジューラを使う以外にはないと思われます。
イメージ的には、管理者権限の必要なバッチファイルやプログラムの起動をタスクスケジューラ経由で行うという感じになります。実際やってみれば、それほど手間がかからないことが分かると思います。


タスクスケジューラで、タスクを事前に登録します。そのときに、「最上位の特権で実行する」にチェックを入れてください。操作で、プログラム起動を選択して起動したいバッチファイルやプログラムを指定します。あとは、何も指定しません。日時等を指定しないタスクとして作成します。

実行したいところで、以下のようにタスク名を指定すると、そのタスクが即時?実行されます。
schtasks.exe /run /tn タスク名
※補足
トリガー指定にログオン時と指定すれば、スタートアップに登録したのと同じ動作になります。スタートアップに管理者権限が必要なプログラムを指定したい場合はタスクスケジューラで起動すると良いかもしれません。



バッチファイルをexe化する方法

この方法は、バッチファイルに管理者権限を擬似的に与える方法です。管理者権限を与えられますが、UAC有効の時は、UAC昇格確認はでます。ただし、runasのようにパスワードは要求されません。

ダウンロード先:Bat To Exe Converter


runasでパスワード自動入力 X

これ、どうがんばってもできません。
スポンサーリンク
タグ#Windows