UACは不適切な操作やウイルスなどから、システムの乗っ取りや破壊を防ぐ重要な機能だ。しかし、この機能のせいでシステムの設定作業やアプリケーションのインストールに失敗することも。UACを無効化することは可能だが、セキュリティを維持するため、作業後は速やかにUACを有効化した方がよい。
対象OS:Windows Vista/Windows 7/Windows 8/Windows 8.1/Windows Server 2008/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2
Windows Vista以降のOSに実装されている「ユーザーアカウント制御(User Account Control。以下UAC)」は、ウイルスや不正な操作、操作ミスなどによって、管理者権限が必要となる操作(システム設定の変更やプログラムのインストールなど)が自動的に実行されてしまうのを防ぐための機能である。
この機能は通常は望ましいものであるが、場合によってはUACのせいでアプリケーションがインストールできなくなるなど(古いアプリケーションで起こることがある)、システムの操作や設定作業などに支障を来す場合がある。
UAC機能を回避するにはいくつか方法があるが、本TIPSでは、UAC機能を恒久的に解除する方法について解説する。ただし必要な操作やセットアップ作業が終了した後は、速やかにこの機能を元の状態に戻しておくことが望ましい。本TIPSの運用に当たっては、その結果に十分注意して利用していただきたい。また、UACそのものについても理解しておくことが望ましい(右上の解説記事が参考になるだろう)。
UACを無効化する手順はWindows OSの種類によって異なるため、以下では、それぞれ別々に説明する。
Windows 7/Windows Server 2008 R2の場合、UAC機能はデフォルトで、Windowsに含まれないプログラムに対してオンになっている(Windowsの設定変更に対しては無効すなわちブロックされない)。
これを全面的に無効とするには、まず管理者アカウントでコントロールパネルの[ユーザー アカウント]アプレットを開く。次に[ユーザー アカウント制御設定の変更]をクリックし、表示されたダイアログにあるスライダーのつまみを一番下まで下げ、[OK]ボタンをクリックする。
設定後、タスクバーの通知領域から再起動を促すポップアップが表示されたら、指示に従ってシステムを再起動する。これで無効化の設定は完了だ。
Windows 8/8.1やWindows Server 2012/2012 R2の場合、UAC機能はデフォルトではオンになっている。しかし、これを「完全に」無効化すると、Windowsストアアプリが利用できなくなる、という副作用が生じてしまう。またその設定には、レジストリの操作かまたはローカルセキュリティポリシーの設定変更が必要だ。
そのため、まずは上記の副作用が生じないように、コントロールパネルの操作で可能な範囲でUAC機能(の一部)を無効化してみて、問題が解決できるか試してみよう。
コントロールパネルからUAC機能(の一部)を無効化するには、まず管理者アカウントで[ユーザー アカウント]アプレットを開く。次に[ユーザー アカウント制御設定の変更]をクリックし、表示されたダイアログにあるスライダーのつまみを一番下まで下げ、[OK]ボタンをクリックする。
コントロールパネルで(5)のように設定すると、管理者権限を必須とするプログラムを起動する際にUACのダイアログが表示されなくなる。しかし、例えば管理者アカウントでサインインして[名前を指定して実行]からcmd.exeを起動しても、設定前と同じく管理者権限が付与されないコマンドプロンプトが起動する(同様に設定したWindows 7/Windows Server 2008 R2では、管理者権限が付与された状態でコマンドプロンプトが起動する)。つまり、「完全には」UACは無効化されない。
もしこの時点で、依然としてUACに関わる問題が解決できない場合は、レジストリを操作するかローカルセキュリティポリシーを変更することで、UACを完全に無効化できる。ただし、前述のようにWindowsストアアプリが全面的に利用できなくなる(「UACを有効にしてください」という旨のメッセージが表示され、正常に起動できない)ので、十分に注意していただきたい。
[注意]
レジストリに不正な値を書き込んでしまうと、システムに重大な障害を及ぼし、最悪の場合、システムの再インストールを余儀なくされることもあります。レジストリエディターの操作は慎重に行うとともに、あくまで御自分のリスクで設定を行ってください。何らかの障害が発生した場合でも、本Windows Server Insider編集部では責任を負いかねます。ご了承ください。
レジストリの操作によってUACを完全に無効化するには、次のように設定を変更する。
項目 | 内容 |
---|---|
キー | HKEY_LOCAL_MACHINEの SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system |
値の名前 | EnableLUA |
型 | REG_DWORD |
値の内容 | 0 → UAC(管理者承認モード)を無効化する 1 → UAC(管理者承認モード)を有効化する(1にするか、この値そのものを削除する) |
Windows 8.x/Server 2012/R2でUACを完全に無効化するためのレジストリ設定 この設定は、正確にいえばUACにおける「管理者承認モード」という機能をオン/オフするものだ。「EnableLUA」という値が存在しない場合は、新たに作成して「0」を設定することで無効化できる。 |
この設定を変更すると、即座にアクションセンターから再起動を求めるメッセージが表示されるので、指示に従ってシステムを再起動する。
レジストリの操作ができない場合、次のようにローカルセキュリティポリシーの設定を変更すれば、UACを完全に無効化できる。
ただしWindows 8/8.1の場合、この設定変更はProまたはEnterpriseエディションでのみ可能だ。無印版Windows 8/8.1ではローカルセキュリティポリシーを変更できないため、前述のレジストリ操作をするしかない。
グループポリシーでも同様にUACを完全に無効化できる。具体的にはグループポリシー管理エディターで、[コンピュータの構成]−[ポリシー]−[Windows の設定]−[セキュリティの設定]−[ローカル ポリシー]−[セキュリティ オプション]を選択したら、上記のように[ユーザー アカウント制御: 管理者承認モードですべての管理者を実行する]の設定を[無効]にする。
Windows Vista/Windows Server 2008の場合、UAC機能はデフォルトではオンになっている。
これを無効にするには、まず管理者アカウントでコントロールパネルの[ユーザー アカウント]アプレットを開く。次に[ユーザーアカウント制御の有効化または無効化]をクリックし、表示されたウィンドウで[ユーザー アカウント制御 (UAC) を使ってコンピュータの保護に役立たせる]のチェックを外してオフにし、[OK]ボタンをクリックする。
[OK]ボタンをクリックすると[これらの変更を適用するにはコンピューターを再起動する必要があります]と表示されるので、[今すぐ再起動する]を選択して、システムを再起動する。これで設定は完了だ。
■この記事と関連性の高い別の記事
■更新履歴
【2014/11/05】Windows 8/8.1およびWindows Server 2012/2012 R2向けの記述を追記しました。またWindows 7/Windows Server 2008 R2の画面「Windows 7/Server 2008 R2でコントロールパネルからUACを無効化する(その2)」の説明で、デフォルトは(4)(画面が暗転しない)としていましたが、実際には(3)(画面が暗転する)でした。お詫びして訂正いたします。
【2009/10/16】Windows 7/Windows Server 2008 R2向けの記述を追記しました。
【2007/03/09】初版公開(対象はWindows Vista/Windows Server 2008)。
Copyright© Digital Advantage Corp. All Rights Reserved.