PR

コマンドファイルを管理者権限で動作させる

スポンサーリンク
コマンドファイルの内容を、管理者権限で動作させる方法
コマンドファイルを使用していると、「管理者として実行」が必須となっている場合があります。
普通にダブルクリックでは、エラーとなり右クリックで「管理者として実行」がとても面倒です。
「管理者として実行」を忘れることも多々あります。
ポリシー設定などで変更もできますがコマンドを書き込むだけで『管理者として実行」ができるようになります。

先頭に以下コマンドを記述します。

@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行目で管理者として再実行させています。重要な部分です。

 

 

タイトルとURLをコピーしました