必要なスキル
Windowsのコマンド実行ができる
レジストリ設定についての理解が多少できる
概要
UAC(User Account Control)の設定をコマンドで確認、設定変更の紹介。
組織運営時などでも、UAC設定がUIの見た目で把握しづらく、実際には有効になっているケースがある。
この場合に、UACが完全に無効化されていない為に、一部プログラムが実行後に一時停止してしまい表示されないなどのトラブルが起こることがある。その場合のコマンドでのレジストリ設定変更も説明します。
面白いポイント
私が経験上で面白いと感じたことですが、大きな組織ではデバイス管理している側ではUACを無効にして貸与したはずが、運用中に有効化されてしまう場合などがあります。しかし、GUIでは無効になっているかのように見える為、サポートセンターと利用者の間で解決する事が難しいようです。そういった場合には、コマンドで設定を確認してみましょう。UACにかかわるいくつかのレジストリは無効化に準ずる設定がされていても、EnableUAが0x1になっている場合がある為です。
このコマンドによる設定を行っても、意図せずWindows UpdateなどでUAC設定の一部が有効化される事がある。その場合、コマンドプロンプトを開いた時などに管理者権限で開かれないなどの挙動があったり、ディスクのボリューム名などの管理者権限を求められる。その時はこのコマンドを再度実行するか、またはUACの設定画面でUACを無効から一つ上の有効へ変更するのも不具合回避の1つの方法です。
コマンド
コマンドは全て レジストリを直接操作するコマンドです。
OSがクラッシュする設定ではありませんが、慣れていない方は入力など注意をして行いましょう。
確認するコマンド
4つの設定を、それぞれ確認するコマンドです
各設定の説明はコマンドの後を読んでください。
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdmin
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v PromptOnSecureDesktop
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken
レジストリの設定内容について
※ コマンドで返る値は16進数で表示されます。10進数の0は0x0、1は0x1です。下記の説明は10進数で書いています。regedit.exeのGUIでも10進数で表示されます。
現在の設定をエクスポートするコマンド
現在の設定を保存しておきたい場合には、次のようなコマンドで今回変更する設定をエクスポートする事ができます。 Cドライブの直下へ保存しています。このコマンドの実行には管理者権限での実行が必要です。コマンドプロンプトなどを管理者権限で開いてください。regファイル上ではDWORDで表現していますので符号なし32ビット整数型、2進数で値が表示されています。0x1は00000001。
reg export HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System C:\uac_settings.reg
変更するコマンド
このコマンドの実行には管理者権限での実行が必要です。コマンドプロンプトなどを管理者権限で開いてください。設定する値は、前項で説明した設定値を元に任意で設定してください。下記ではEnableLUAを無効化するコマンドを書きます。EnableLUAで設定変更した時、GUI同様にOSの再起動を求める通知が表示されます。
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v EnableLUA /t REG_DWORD /d 0 /f