6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バッチの管理者実行とダブルクリックの違い

Last updated at Posted at 2019-10-27

管理者実行周りの説明

Windowsに管理者権限を持ったユーザでログインし、GUIで操作を行います。そのとき、管理者権限が不要な操作は標準ユーザー権限で実行され、管理者権限が必要な操作は、ダイアログで確認が行われた上で、管理者権限で実行されるという仕様です。

管理者権限を持つユーザ
administrator_account.png

管理者実行の確認ダイアログ
admin_requirement.png

これは、マルウェアなどがOSに変更を加えないようにするための仕様で、Windows Vista以降の標準になっています。

では、バッチの操作の場合はどうなるのでしょうか?
バッチは無人で実行されるので、管理者権限が必要な操作が出てくるたびに確認ダイアログを表示しても、確認できる人がいません。そのため、管理者実行を行うかどうかをバッチ起動時に決める仕様になります。

  • ダブルクリックだと、標準ユーザー実行
  • 右クリック→管理者として実行 だと、管理者実行
    admin_exec.png

なお、バッチ起動で管理者実行を強制させる方法については、以下の記事を参照ください。
管理者権限でbatを実行したい時にやッた事

バッチの管理者実行のメリット

以下に挙げるのは、バッチの管理者実行ではできるが、ダブルクリックではできない操作です。

管理者(Administratorsグループ)のアクセス権による操作

C:\Windows、C:\Program Filesなどの配下は、Administratorsグループはフルコントロールですが、Usersグループは読み取りと実行権限しか与えられていないケースが多いです。
したがって、C:\Program Files内の設定ファイルを上書きコピーしようとした場合などは、バッチを管理者で実行する必要があります。

レジストリの操作

管理者実行だとレジストリ操作ができます。

例)最近使ったファイルの表示を有効化

reg add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer" /v "ShowRecent" /t "REG_DWORD" /d "1" /f

管理者コマンドが使える

管理者しか実行できないコマンドが使えます。

例)windows updateで使うプロキシ設定をieからインポート

netsh winhttp import proxy source=ie

バッチのダブルクリック実行のメリット

以下に挙げるのは、バッチの管理者実行ではできないが、ダブルクリックではできる操作です。

カレントフォルダがバッチのフォルダになる

ダブルクリックの場合、カレントフォルダはバッチのフォルダになります。
管理者実行の場合、カレントフォルダがC:\Windows\System32になります。

そのため、以下のtest.batを管理者実行すると正しく動作しません。ダブルクリックだと正しく動作します。

D:\test\test.bat
D:\test\test.ps1

test.bat

powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 > .\test.log

test.ps1

write-host "test"

管理者実行で動作できるようにするには、バッチにバッチのあるフォルダへの移動を追加します(ただし、jmeter.batなどダブルクリックで起動するしかないバッチもあります。)

test.bat

pushd %~dp0
powershell -NoProfile -ExecutionPolicy Unrestricted .\test.ps1 > .\test.log
popd
6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?