こんにちは、阿久津です。Windows OSのセキュリティを強化するため、Windows Vistaから導入された「UAC(ユーザーアカウント制御)」。使い勝手の悪さから敬遠されましたが、Windows 7では大幅に改良され、ようやく通常の機能として使えるようになりました。

UACの設定は、ユーザーアカウントの<ユーザーアカウント制御設定の変更>をクリックすると起動する同名のウィンドウから操作します。スライダーを上下に動かすことで、UACの強度を容易に変更することが可能になりました(図01~02)。

図01: コントロールパネルの「ユーザーアカウント」にある<ユーザーアカウント制御設定の変更>をクリックしますと、同名のウィンドウが起動し、UACの設定が可能です

図02: UACの設定が及ぼす影響を表にまとめました。既定値ではアプリケーションによる操作時のみ、セキュアデスクトップによる警告が発せられます

通常はWindows 7インストール後に設定を行ない、そのまま使い続けるのが一般的ですが、ユーザーサポートなどWindows 7の環境を頻繁に変更しなければならないユーザーの場合、いちいち同ウィンドウを呼び出すのは骨が折れる作業になることでしょう。

Windows 7には、同ウィンドウを簡単に呼び出すコマンド「UserAccountControlSettings.exe」が用意されていますので、「ファイル名を指定して実行」などから同コマンドを実行すれば、UAC設定ウィンドウが一発で起動します(図03)。

図03: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「UserAccountControlSettings.exe」と入力して<OK>ボタンをクリックしますと、UAC設定ウィンドウが一発で起動します

ここからUACレベルを変更するのがスマートですが、前述のように変更頻度が高いユーザーや、インストール直後の設定を一括設定する方向けとして、今週はUAC設定をレジストリから制御し、スムーズなセキュリティ設定を実現するチューニングをお送りしましょう。

1.[Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力してから<OK>ボタンをクリックします。
2.レジストリエディタが起動したら、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Systemまで、キーをたどって開きます。
3.右ペインのDWORD値「ConsentPromptBehaviorAdmin」をダブルクリックします。
4.ダイアログが表示されたら、値のデータを「2」に変更し、<OK>ボタンをクリックします。
5.以上の操作を終えたら、[F5]キーを押して変更内容をシステムに反映させてから、レジストリエディタを終了させましょう。

以上でチューニング終了です(図04~07)。

図04: [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図05: レジストリエディタが起動したら、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ Systemまでキーをたどって開きます

図06: 右ペインのDWORD値「ConsentPromptBehaviorAdmin」をダブルクリックで開き、値のデータを「2」に書き換えてから<OK>ボタンをクリックします

図07: 以上の操作を終えたら、[F5]キーを押して変更内容をシステムに反映させた後、<×>ボタンをクリックしてレジストリエディタを終了させましょう

それでは変更結果を確認してみましょう。先の「UserAccountControlSettings.exe」を実行して「ユーザーアカウント制御の設定」ウィンドウを呼び出すと、UACレベルが既定値の「2」から「3」に上昇しました。なお、本操作は管理者権限を持つアカウントでのみリアルタイムに反映されますので注意してください(図08)。

図08: 「UserAccountControlSettings.exe」を実行し、UAC設定を確認しますと、UACレベルが変化したことを確認できます

さて、ここで各値を説明しましょう。DWORD値「ConsentPromptBehaviorAdmin」は、管理者に対する昇格時の動作を制御し、既定値であるレベル2とレベル1はデータ値が「5」となり、レベル3に上昇させると「2」、レベル0では「0」に変化します。ただしレベル1以下はモーダルダイアログを用いたセキュアデスクトップが無効になりますので、同環境を制御するDWORD値「PromptOnSecureDesktop」の操作も必要です。セキュアデスクトップを有効にするには同DWORD値のデータ値を「1」、無効にするには「0」にしてください。つまり、レベル3~1までの動作は、DWORD値「ConsentPromptBehaviorAdmin」とDWORD値「PromptOnSecureDesktop」のデータ値を変更することで、UACの状態を変更することが可能になるのです(図09)。

図09: DWORD値「ConsentPromptBehaviorAdmin」のデータ値

なお、UACがレベル0の際は、管理者承認モードを制御するDWORD「EnableLUA」も関係してきます。同DWORD値の既定データ値は「1」で、同モードを有効にしてますが、「0」に書き換えた場合、管理者承認モードおよび、関連するUACポリシー設定がすべて無効になります。同データ値のみ書き換えるのが望ましいのですが、同値の反映はWindows 7の再起動が必要となりますので、今回の主旨に合わないため見送ることにしました。ご了承ください。

それでは、また次号でお会いしましょう。

阿久津良和(Cactus)