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

ALL
スポンサーリンク

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

バッチファイルの先頭に次を記述します。
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 は、バッチファイル自身のフルパスを示す変数です。

コメント