Windows 11 の Exploit Protection は、時々ちょっと面倒です。これは Windows 11 に組み込まれていて自動的に有効化されるため、一部のアプリ、特に古いソフトウェアや互換性の低いソフトウェアの動作がおかしくなります。クラッシュや奇妙な動作に遭遇し、Exploit Protection が原因ではないかと疑われる場合、すべてを一度に無効にするのは簡単ではありません。Microsoft が簡単な切り替えスイッチを提供していないからです。そのため、完全に無効にしたい場合は、設定を詳しく調べたり、コマンドライン マジックを使ったりする必要があります。このガイドでは、箱から出した直後やテストなどで、必要に応じてこれを無効化または調整する方法について説明します。ただし、これをオフにするとシステムがより脆弱になる可能性があることに留意してください。そのため、オフにするのは一時的なものにし、可能であれば後で保護機能を再度有効にしてください。
Windows 11でExploit Protectionを無効にする方法
修正1: Windowsセキュリティを使用する(GUI方式)
デフォルトのWindowsセキュリティUIから始めるこの方法は、コマンドラインに少し不安があり、クリックスルーを好む場合に役立ちます。主に個々のアプリに適用されますが、保護をカスタマイズする最も視覚的な方法です。システム全体ですべてを無効にできないため、少し面倒ですが、何もしないよりはましです。
- Windowsの検索バーに「セキュリティ」と入力してください。Windowsセキュリティの横にある「開く」をクリックしてください。
- セキュリティアプリがポップアップ表示されます。左側の「アプリとブラウザの制御」をクリックします。少し下にスクロールして、 「Exploit Protection」セクションの「Exploit Protection 設定」を見つけます。
- 新しく開いたウィンドウで、「プログラム設定」タブに切り替えます。プラス(+)アイコンをクリックして「プログラムを追加」を選択し、カスタマイズします。 「プログラム名で追加」または「正確なファイルパスを選択」など、お好みのオプションを選択してください。
- 保護を無効にしたいアプリの実行ファイル(.exe)を選択してください。古いCADやレガシーソフトウェアなどが該当するかもしれません。
すると、緩和策の一覧が表示されます。一般的な緩和策には、任意コードガード(ACG)、制御フローガードなどがあります。 「システム設定を上書きする」というチェックボックスをオンにしてください。オンにしたら、オフにしてください。はい、これで特定の緩和策が特定のアプリに対してのみ無効になります。これで安定性の問題が解決する場合もあります。
「適用」をクリックし、 UACプロンプトで「はい」をクリックします。Windowsが複雑にしているのは当然です。上書きが承認されたことを確認するメッセージが表示されます。アプリを再起動して、クラッシュが軽減されたか、動作が改善されたかを確認してください。問題が解決しない場合は、そのウィンドウで他の緩和策を確認し、個別に無効にしてください。決してすべてをオフにしすぎないようにしてください。
修正2: PowerShellコマンドを使用する
コマンドラインをご希望ですか? などのPowerShellコマンドを使用して、特定の緩和策を一時的または永続的に無効にすることができますSet-ProcessMitigation。これは少し高度な方法ですが、特に複数のマシンでスクリプトを実行する必要がある場合には、より詳細な制御が可能です。
- スタートボタンを右クリックし、「ターミナル(管理者)」を選択します。UACプロンプトに同意します。
- まず、次の方法で現在の設定を確認します。
Get-ProcessMitigation -System
Set-ProcessMitigation -System -Disable ControlFlowGuard
Set-ProcessMitigation -Name notepad.exe -Disable ForceRelocateImages
これらのコマンドを実行した後は、PCを再起動することをお勧めします。そうすることで、新しい設定が実際に有効になります。
修正3: グループポリシーを使用する(エンタープライズ版またはプロ版の場合)
これはシステム管理者や、設定を一括展開したい方向けの機能です。GUIからお好みのExploit Protection設定をXMLファイルとしてエクスポートし、グループポリシーを使用して複数のPCにプッシュできます。
- Windows セキュリティ > アプリとブラウザの制御 > エクスプロイト防止設定 を開きます。必要な設定を調整し、「設定のエクスポート」をクリックします。XMLファイルが保存されます。
- 他のコンピューターでgpedit.mscを起動します。「コンピューターの構成」>「管理用テンプレート」>「Windows コンポーネント」>「Windows セキュリティ」に移動します。
- 「共通の Exploit Protection 設定セットを使用する」をダブルクリックします。とにかく有効にして、エクスポートしたXMLファイルのURLまたはパスをオプションに入力します。「適用」をクリックし、管理
gpupdate /force者権限のコマンドプロンプトで実行して新しいポリシーを強制適用します。すると、XMLに従って保護が一括設定されます。
任意コードガード(ACG)の修正
ACGは、明示的に承認されていないコードの実行を困難にする、厄介な緩和策の一つです。レガシーアプリやテストで問題を引き起こすことがあります。無効にするには、以下の手順を実行してください。
Windows セキュリティ UI の使用:
- [アプリとブラウザの制御] > [エクスプロイト防止設定]に移動します。
- プログラム設定に切り替えます。アプリの実行ファイルを見つけて、「システム設定を上書きする」をクリックし、「オフ」を選択します。
- 適用後、システムを再起動してください。
グループ ポリシー経由:これには、ACG をオフにしたポリシー XML をエクスポートし、それをシステム全体に展開することが含まれますが、これは少し高度で、通常は大規模なセットアップ向けです。
Exploit Protection はどこにありますか?
基本的に、すべての魔法はWindows セキュリティ > アプリとブラウザの制御 > エクスプロイト防止設定で実行されます。ここでシステム全体またはアプリ固有の緩和策を調整できますが、試したことがある人なら誰でも知っているように、Windowsではこれが本来よりも複雑になっています。