バッチファイルを管理者権限で動作させる

バッチファイルの内容を、管理者権限で動作させる方法です。

バッチファイルの先頭に次を記述します。
1ファイルで実行できます。


@echo off
cd /d %~dp0
for /f "tokens=3 delims=\ " %%i in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%i
if NOT "%LEVEL%"=="High" (
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "Start-Process %~f0 -Verb runas"
exit
)
rem これ以降に、実行したいコマンドを記述します



このバッチファイルでは、始めに管理者として実行されているかチェックし、管理者では無い場合はバッチファイル自身を管理者として実行しなおします。
実行しなおしの際、管理者権限を得る為に「ユーザアカウント制御」ダイアログが表示されます。


管理者として実行されているかのチェックは、バッチファイルの実行環境をチェックする で紹介した方法です。

プログラムを管理者として実行する方法は コマンドプロンプトからプログラムを管理者として実行する方法です。 で紹介した方法です。

また、バッチファイル中の %~f0 は、バッチファイル自身のフルパスを示す変数です。

この記事へのコメント

この記事へのトラックバック

  • コマンドプロンプトからプログラムを管理者として実行する方法です。

    Excerpt: コマンドプロンプトからプログラムを管理者として実行する方法です。 プログラムを右クリックして「管理者として実行」と同等のことが行え、管理者パスワードを入力する必要が無く、管理者名が administ.. Weblog: パソコン鳥のブログ racked: 2016-06-29 22:08
  • PowerShellをバッチから管理者権限で動かす

    Excerpt: バッチファイルから、PowerShellスクリプトを管理者権限で動かす方法です。 PowerShellスクリプトはエクスプローラからダブルクリックで実行できず、管理者権限で動かすのも面倒です。 バ.. Weblog: パソコン鳥のブログ racked: 2017-07-24 20:38