0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

UAC / EnableLUAの値を確認・変更し、結果をログに残す

0
Posted at

UAC / EnableLUAの値を確認・変更し、結果をログに残す

はじめに

Windows環境で作業していると、UACに関連する設定を確認したい場面があります。

たとえば、

  • 管理者権限で実行しているはずなのに想定どおり動かない
  • 特定の操作で権限昇格の挙動が気になる
  • UAC関連の設定値を確認したい
  • レジストリ変更前後の状態をログに残したい
  • Cドライブ直下に書き込みをしたい

といったケースです。

この記事では、UACに関係する EnableLUA の値を確認し、必要に応じて変更し、その結果をログに残すbatの例を紹介します。

ただし、EnableLUA の変更はWindowsのセキュリティ動作に影響します。

この記事は変更を推奨するものではなく、確認方法と作業証跡の残し方を整理する目的です。

EnableLUAとは

EnableLUA は、以下のレジストリにある値です。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

値名は以下です。

EnableLUA

UACに関係する設定であり、値を変更すると、管理者権限の扱いやUACの動作に影響します。

そのため、安易に変更するものではありません。

想定する用途

このbatは、以下のような場面を想定しています。

  • EnableLUA の現在値を確認したい
  • レジストリ変更前後の状態をログに残したい
  • 作業証跡として、実行日時と変更結果を保存したい
  • 検証環境でUAC関連設定の挙動を確認したい

本番環境で実行する場合は、必ず事前に影響範囲を確認してください。

やりたいこと

今回やりたいことは以下です。

  • 実行日時をログに残す
  • EnableLUA の変更前の値を確認する
  • EnableLUA の値を変更する
  • 変更後の値を確認する
  • 結果をデスクトップ上のテキストファイルに保存する

現在値を確認する

EnableLUA の現在値は、以下のコマンドで確認できます。

reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA

値を変更する

値を変更する場合は、以下のようにします。

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f

この例では、EnableLUA0 に変更しています。

ただし、これはUACの動作に影響するため、実行には注意が必要です。

batサンプル

以下は、変更前後の EnableLUA の値をログに残すbatのサンプルです。

@echo off

rem ==========================================
rem EnableLUA 確認・変更ログ出力bat
rem ==========================================

set REGPATH=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
set REGVALUE=EnableLUA
set LOGFILE=%USERPROFILE%\Desktop\RegAddEnableLUA_%COMPUTERNAME%.txt

echo ########### start ########### > "%LOGFILE%"
echo date %date% >> "%LOGFILE%"
echo time %time% >> "%LOGFILE%"
echo host %COMPUTERNAME% >> "%LOGFILE%"
echo. >> "%LOGFILE%"

echo ########### before EnableLUA ########### >> "%LOGFILE%"
reg query "%REGPATH%" /v %REGVALUE% >> "%LOGFILE%" 2>&1
echo. >> "%LOGFILE%"

echo ########### change EnableLUA ########### >> "%LOGFILE%"
echo reg add "%REGPATH%" /v %REGVALUE% /t REG_DWORD /d 0 /f >> "%LOGFILE%"
reg add "%REGPATH%" /v %REGVALUE% /t REG_DWORD /d 0 /f >> "%LOGFILE%" 2>&1
echo. >> "%LOGFILE%"

echo ########### after EnableLUA ########### >> "%LOGFILE%"
reg query "%REGPATH%" /v %REGVALUE% >> "%LOGFILE%" 2>&1
echo. >> "%LOGFILE%"

echo ########### end ########### >> "%LOGFILE%"

start notepad "%LOGFILE%"

変更せず確認だけしたい場合

確認だけしたい場合は、reg add の部分を入れずに、reg query だけ実行します。

@echo off

set REGPATH=HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
set REGVALUE=EnableLUA
set LOGFILE=%USERPROFILE%\Desktop\CheckEnableLUA_%COMPUTERNAME%.txt

echo date %date% > "%LOGFILE%"
echo time %time% >> "%LOGFILE%"
echo host %COMPUTERNAME% >> "%LOGFILE%"
echo. >> "%LOGFILE%"

echo ########### EnableLUA ########### >> "%LOGFILE%"
reg query "%REGPATH%" /v %REGVALUE% >> "%LOGFILE%" 2>&1

start notepad "%LOGFILE%"

まずは確認だけ行い、変更が必要かどうかを判断する方が安全です。

1に戻す場合

EnableLUA1 に戻す場合は、以下のようにします。

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 1 /f

ただし、設定変更後は再起動が必要になる場合があります。

作業前に、再起動可否や影響範囲を確認してください。

各処理の説明

実行日時を残す

echo date %date% >> "%LOGFILE%"
echo time %time% >> "%LOGFILE%"

いつ実行したかをログに残します。

レジストリ変更のような設定変更作業では、日時の記録が重要です。

変更前の値を確認する

reg query "%REGPATH%" /v %REGVALUE% >> "%LOGFILE%" 2>&1

変更前の値をログに出力します。

変更前の状態が残っていないと、後から戻したいときに困ることがあります。

実行した変更コマンドをログに残す

echo reg add "%REGPATH%" /v %REGVALUE% /t REG_DWORD /d 0 /f >> "%LOGFILE%"

実際にどのコマンドを実行したかをログに残しています。

結果だけでなく、実行した操作そのものを残しておくと、後から確認しやすくなります。

変更後の値を確認する

reg query "%REGPATH%" /v %REGVALUE% >> "%LOGFILE%" 2>&1

変更後に再度確認します。

設定変更では、

  • 変更前
  • 変更コマンド
  • 変更後

を残すと、作業証跡として扱いやすくなります。

このbatでできること

このbatでは、以下のことができます。

  • EnableLUA の現在値を確認する
  • EnableLUA の値を変更する
  • 変更前後の値をログに残す
  • 実行日時と端末名を残す
  • 実行した変更コマンドを残す
  • 作業後にログを開く

注意点

本番環境では安易に変更しない

EnableLUA の変更は、UACや管理者権限の動作に影響します。

本番環境で安易に変更すると、セキュリティポリシーやアプリケーションの動作に影響する可能性があります。

まずは確認だけ行い、変更が必要かどうかを慎重に判断してください。

管理者権限が必要

HKLM配下のレジストリを変更するため、管理者権限が必要です。

batは「管理者として実行」してください。

再起動が必要になる場合がある

EnableLUA の変更は、即時反映されない場合があります。

変更後に再起動が必要になることがあるため、作業前に再起動できるタイミングか確認してください。

変更前の値を必ず残す

変更前の値を残しておかないと、元に戻すときに困ることがあります。

このbatでは、変更前後の reg query 結果を同じログに残しています。

セキュリティポリシーやGPOを確認する

環境によっては、UAC関連設定がグループポリシーで管理されている場合があります。

手動で変更しても、後からGPOで戻されることがあります。

変更前に、組織のセキュリティポリシーやGPO設定を確認してください。

外部共有時は情報をマスキングする

ログには端末名やレジストリ設定値が含まれます。

外部へ共有する場合は、必要に応じてマスキングしてください。

まとめ

reg queryreg add を使うことで、EnableLUA の値を確認・変更できます。

ただし、EnableLUA はUACに関係する設定であり、変更には注意が必要です。

大事なのは、

とりあえず変更する

ではなく、

変更前の状態、実行した操作、変更後の状態を残す

ことだと思います。

特にセキュリティ設定に関わる変更では、作業証跡を残し、必要に応じて戻せるようにしておくことが重要です。

0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?