Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】

ユーザーアカウント制御(User Account Control:UAC)は、Windowsセキュリティの中核を担う重要な機能です。管理者権限を必要とするアプリケーションやプロセスを実行したり、システム設定・保護されたレジストリキー・システムファイルを変更しようとした際に、UACはデスクトップを保護モード(Secure Desktop)に切り替え、管理者に操作の確認を求めます。この仕組みにより、コンピューターに損害を与える可能性のあるプロセスやマルウェアの起動を未然に防ぐことができます。

下記のスクリーンショットは、Windows 10でレジストリエディター(regedit.exe)を起動しようとした際に表示されるUAC確認ウィンドウの例です。

User Account Control
Do you want to allow this app to make changes to your device?
(このアプリがデバイスに変更を加えることを許可しますか?)

グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】

なお、Windows 10で既定で無効化されているビルトインAdministratorアカウントに対しては、UACは有効になりません。

本記事では、単一のコンピューター、またはドメイン環境の複数台のコンピューターを対象に、グループポリシー(GPO)を使ってUAC設定を管理する方法を詳しく解説します。

Windows 10におけるUACスライダーの4段階レベル

Windows 7以降では、コントロールパネルまたはUserAccountControlSettings.exeから呼び出せる専用のスライダーを使用して、UACの動作レベルを管理できます。スライダーでは、以下の4つの保護レベルから選択可能です。

  • レベル4 — 常に通知する:最も高いUAC保護レベル。
  • レベル3 — アプリがコンピューターに変更を加えようとするときのみ通知する(既定):標準の保護レベル。
  • レベル2 — アプリがコンピューターに変更を加えようとするときのみ通知する(デスクトップを暗転させない):レベル3とほぼ同じですが、Secure Desktopへの切り替えと画面ロックを行いません。
  • レベル1 — 通知しない:UACが実質的に無効になります。

グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】

Windows 10の初期状態ではレベル3が適用されており、システムファイルやシステム設定を変更しようとした場合にのみ通知が表示されます。

グループポリシー(GPO)でUACを無効化する方法

まず前提として、UACを完全に無効化することは推奨されません。UACはシンプルながら効果的なWindowsのセキュリティ機構だからです。筆者の経験上、UACが特定の機能をブロックしていることが明確に確認できない限り、ユーザーのPCでUACを無効化したことはありません。仮にブロックが問題になる場合でも、特定のアプリだけUACを除外する、あるいは管理者権限なしでアプリを実行してUACプロンプトを抑制するなど、簡単な回避策が存在します。

それでもUACを無効化する必要がある場合は、グループポリシーを利用できます。スタンドアロン環境のPCではローカルグループポリシーエディター(gpedit.msc)を、ドメイン環境の複数台へ展開する場合はグループポリシー管理コンソール(gpmc.msc)を使用します。ここでは後者の手順を紹介します。

  1. ドメインのGPO管理コンソールで、UACを無効化したいコンピューターが所属するOUを右クリックし、新しいポリシーオブジェクトを作成します。グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】
  2. ポリシーを編集し、コンピューターの構成 → ポリシー → Windows の設定 → セキュリティの設定 → ローカル ポリシー → セキュリティ オプションへ移動します。
  3. このセクションにはUACの動作を制御する複数の設定項目があり、名称はすべて「ユーザーアカウント制御」で始まります。グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】
  4. UACを完全に無効化するには、次のパラメーターを設定します。
    • ユーザーアカウント制御: 管理者承認モードでの管理者の昇格時の動作 = 同意の要求なしで昇格する
    • ユーザーアカウント制御: アプリケーションのインストールを検出し、昇格時に確認を求める = 無効
    • ユーザーアカウント制御: すべての管理者を管理者承認モードで実行する = 無効
    • ユーザーアカウント制御: セキュリティで保護された場所にインストールされている UIAccess アプリケーションのみを昇格する = 無効グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】
  5. グループポリシー設定を反映してUACを無効化するには、クライアントコンピューターの再起動が必要です。再起動後、UACは「通知しない」モードに切り替わります。

また、レジストリ経由で一部のユーザー/コンピューターだけUACを無効化し、その設定をグループポリシーの基本設定(Group Policy Preferences)で展開する方法もあります。

GPOのコンピューターの構成 → 基本設定 → Windows の設定 → レジストリで、以下の内容の新しいレジストリ項目を作成してください。

  • 操作: 置換
  • ハイブ: HKEY_LOCAL_MACHINE
  • キーのパス: SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 値の名前: EnableLUA
  • 値の種類: REG_DWORD
  • 値のデータ: 0

グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】

続いて「共通」タブを開き、以下のオプションを有効にします。

  • 適用されなくなった場合は、この項目を削除する
  • 項目レベルのターゲット設定

「ターゲット設定」ボタンをクリックし、UAC無効化ポリシーを適用したいコンピューターまたはドメインのセキュリティグループを指定します。

なお、UACを無効化していても、一部のアプリは「このアプリは保護のためにブロックされています」というメッセージとともに起動を拒否される場合があります。

UAC関連のレジストリ設定

UACの設定はレジストリから直接管理することも可能です。ユーザーアカウント制御の動作を司るパラメーターは、レジストリキー HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 配下に格納されています。

コントロールパネルでUACスライダーの位置を変更すると、Windowsはこのレジストリキーの各値を自動的に書き換えます。以下に、スライダーレベルごとのREGファイルの内容を示します。

UAC レベル4(常に通知する):

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"ConsentPromptBehaviorAdmin"=dword:00000002
"ConsentPromptBehaviorUser"=dword:00000003
"EnableInstallerDetection"=dword:00000001
"EnableLUA"=dword:00000001
"EnableVirtualization"=dword:00000001
"PromptOnSecureDesktop"=dword:00000001
"ValidateAdminCodeSignatures"=dword:00000000
"FilterAdministratorToken"=dword:00000000

UAC レベル3(アプリが変更を加えるときのみ通知・既定):

"ConsentPromptBehaviorAdmin"=dword:00000005
"ConsentPromptBehaviorUser"=dword:00000003
"EnableInstallerDetection"=dword:00000001
"EnableLUA"=dword:00000001
"EnableVirtualization"=dword:00000001
"PromptOnSecureDesktop"=dword:00000001
"ValidateAdminCodeSignatures"=dword:00000000
"FilterAdministratorToken"=dword:00000000

UAC レベル2(デスクトップを暗転させない):

"ConsentPromptBehaviorAdmin"=dword:00000005
"ConsentPromptBehaviorUser"=dword:00000003
"EnableInstallerDetection"=dword:00000001
"EnableLUA"=dword:00000001
"EnableVirtualization"=dword:00000001
"PromptOnSecureDesktop"=dword:00000000
"ValidateAdminCodeSignatures"=dword:00000000
"FilterAdministratorToken"=dword:00000000

UAC レベル1(通知しない=UAC完全無効化):

"ConsentPromptBehaviorAdmin"=dword:00000000
"ConsentPromptBehaviorUser"=dword:00000003
"EnableInstallerDetection"=dword:00000001
"EnableLUA"=dword:00000001
"EnableVirtualization"=dword:00000001
"PromptOnSecureDesktop"=dword:00000000
"ValidateAdminCodeSignatures"=dword:00000000
"FilterAdministratorToken"=dword:00000000

グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】

これらの値は、レジストリエディターのGUIからでも、コマンドラインからでも変更できます。たとえば、コンピューターのUACを無効化するには(要再起動)、次のコマンドを実行します。

reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f.

同様の操作をPowerShellで行う場合はこちらです。

New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force

同じレジストリキーには、LocalAccountTokenFilterPolicyという別のパラメーターもあります。これは通称「リモートUAC」と呼ばれ、管理者権限を持つローカルユーザーアカウントによる既定の管理共有へのリモート接続を制限する役割を果たします。

Windows ServerにおけるUACの扱い

Windows ServerのUACは、WindowsクライアントOSとまったく同じように動作し、同じ方法で管理できます。

Windows Server 2016/2019でUACを完全に無効化してもよいのは、以下の条件を満たす場合です。

  • サーバーデスクトップへのリモートアクセスが管理者のみに限定されていること(管理者以外のユーザーに対するRDPアクセスは必ず無効化)。RDSホストではUACを有効のまま維持します。
  • 管理者がサーバーを使用するのは管理作業のみであること。Office文書の作成、メッセンジャー、Webブラウザーなどの利用は、UACを有効化した非特権ユーザーアカウントでワークステーション上で行い、サーバーホスト上では行わないのがベストプラクティスです。

なお、Windows Server Coreエディションでは、UACは常に無効になっています。

UACが有効な場合、Windows Serverではローカルコンピューターアカウントによるリモート接続(net use、WinRM、PowerShell Remotingなど)が制限されます。これは、前述のLocalAccountTokenFilterPolicyパラメーターによってユーザーのトークンがフィルターされるためです。

UACスライダーとグループポリシー設定の対応関係

UACの設定は、スライダーでもGPOでも管理できます。ただし、UACスライダーの4段階レベルを直接選択できる単一のグループポリシー設定は存在しません。代わりに、10個のGPOパラメーターを個別に設定してUACを管理する形になります。該当するポリシーは、GPOエディターのコンピューターの構成 → ポリシー → Windows の設定 → セキュリティの設定 → ローカル ポリシー → セキュリティ オプションにあり、「ユーザーアカウント制御」で始まる名前のパラメーターがUAC関連です。

グループポリシーでユーザーアカウント制御(UAC)を無効化・変更する完全ガイド【Windows 10/Server対応】

以下の表は、UAC関連のグループポリシー設定と、それぞれが対応するレジストリ値の一覧です。

ポリシー名 ポリシーが設定するレジストリ値
ユーザーアカウント制御: ビルトイン Administrator アカウントの管理者承認モード FilterAdministratorToken
ユーザーアカウント制御: セキュリティで保護されたデスクトップを使わない UIAccess アプリケーションの昇格プロンプト EnableUIADesktopToggle
ユーザーアカウント制御: 管理者承認モードでの管理者の昇格時の動作 ConsentPromptBehaviorAdmin
ユーザーアカウント制御: 標準ユーザーの昇格時の動作 ConsentPromptBehaviorUser
ユーザーアカウント制御: アプリケーションのインストールを検出し、昇格時に確認を求める EnableInstallerDetection
ユーザーアカウント制御: 署名および検証済みの実行ファイルのみ昇格する ValidateAdminCodeSignatures
ユーザーアカウント制御: セキュリティで保護された場所にインストールされている UIAccess アプリケーションのみを昇格する EnableSecureUIAPaths
ユーザーアカウント制御: すべての管理者を管理者承認モードで実行する EnableLUA
ユーザーアカウント制御: 昇格時にセキュリティで保護されたデスクトップに切り替える PromptOnSecureDesktop
ユーザーアカウント制御: ファイルとレジストリの書き込みエラーをユーザーごとの場所に仮想化する EnableVirtualization

参考までに、既定のUACレベル3に対応するグループポリシー設定は以下の通りです。

UAC レベル3(既定値)

ビルトイン Administrator アカウントの管理者承認モード = 無効
セキュリティで保護されたデスクトップを使わない UIAccess アプリケーションの昇格プロンプト = 無効
管理者承認モードでの管理者の昇格時の動作 = Windows バイナリ以外の場合は同意を得るためにプロンプトを表示する
標準ユーザーの昇格時の動作 = セキュリティで保護されたデスクトップで資格情報を求める
アプリケーションのインストールを検出し、昇格時に確認を求める = 有効(ワークグループの場合)/ 無効(ドメイン参加デバイスの場合)
署名および検証済みの実行ファイルのみ昇格する = 無効
セキュリティで保護された場所にインストールされている UIAccess アプリケーションのみを昇格する = 有効
すべての管理者を管理者承認モードで実行する = 有効
昇格時にセキュリティで保護されたデスクトップに切り替える = 有効
ファイルとレジストリの書き込みエラーをユーザーごとの場所に仮想化する = 有効

  1. Windows 10で高速ユーザー切り替えを無効にする2つの方法(グループポリシー・レジストリ)

    複数のユーザーアカウント機能は、Windows XPの時代にコンピューターを複数人で共有しやすくするために導入されました。その中核となる「高速ユーザー切り替え(Fast User Switching)」を使えば、各ユーザーのセッションを保持したまま、別のアカウントへ素早く切り替えることができます。この機能により、1台のPCを家族や職場の仲間で快適に共有できるようになりました。 職場や教育機関ではマルチユーザー環境が広く利用されており、Windows 10では直感的なユーザーインターフェースや、新しい世代のPCにおけるソフトウェア・ハードウェアの進化によって、その利用はさらに拡大しています。10

  2. Windows 11でユーザーアカウント制御(UAC)を無効にする3つの方法

    Windows 11では、ユーザーアカウント制御(UAC)をさまざまな方法でオフにすることができます。UACとは、各種アプリがPCに対して変更を加えようとした際に、ユーザーの承認を求めるセキュリティ機能のことです。Windows 11ではデフォルトでUACのダイアログが表示されるようになっており、アプリが管理者権限で起動しようとすると、許可を求める画面が出てきます。この機能を不要だと感じる方も少なくありません。本記事では、Windows 11のユーザーアカウント制御を無効にする方法を詳しく解説します。 なぜ多くの人はUACを重要視しないのか? 多くの人が「はい」を押しているだけ レジストリエ