コマンドファイルの内容を、管理者権限で動作させる方法
コマンドファイルを使用していると、「管理者として実行」が必須となっている場合があります。
普通にダブルクリックでは、エラーとなり右クリックで「管理者として実行」がとても面倒です。
「管理者として実行」を忘れることも多々あります。
普通にダブルクリックでは、エラーとなり右クリックで「管理者として実行」がとても面倒です。
「管理者として実行」を忘れることも多々あります。
ポリシー設定などで変更もできますがコマンドを書き込むだけで『管理者として実行」ができるようになります。
先頭に以下コマンドを記述します。
@echo off
rem ----- 管理者権限で実行 -----
echo.
echo コマンドプロンプトを管理者として実行します
echo.
rem --管理者確認--
for /f "tokens=3 delims=\ " %%A in ('whoami /groups^|find "Mandatory"') do set LEVEL=%%A
if not "%LEVEL%"=="High" (
powershell -NoProfile -ExecutionPolicy Unrestricted -Command "Start-Process \"%~f0\" -Verb runas"
exit
)
12行目以降に実行するコマンドを記述します。また、rem行は削除できます。
※コピーする場合はクォーテーションマーク[ " ][ ' ]が全角にならないように注意してください。半角です。
管理者で実行されているかを確認し、管理者ではない場合は管理者として再実行します。
その際、ユーザーアカウント制御確認の画面が出ますので はい を押下します。↓

※管理者として実行している場合には、何もしません。
管理者実行が必須の場合は、先頭に記述しておくと「管理者として実行」を忘れていた場合などでも対応できるので便利です。
7行と8行目で管理者で実行されているかの確認をいれています。
管理者確認が不要であれば削除または、ほかのコマンドに入れ替えも可能です。
if判定を行い
9行目で管理者として再実行させています。重要な部分です。
管理者確認が不要であれば削除または、ほかのコマンドに入れ替えも可能です。
if判定を行い
9行目で管理者として再実行させています。重要な部分です。


