こんにちは、Windows プラットフォーム サポートです。
今回は Windows Defender Firewall サービスが「パラメーターが間違っています」のエラーで繰り返し終了する事象についてご説明します。
事象
システム イベントログに Service Control Manager のエラー イベント ID 7024 で「パラメーターが間違っています」というメッセージが記録され、Windows Defender Firewall サービスが繰り返し終了します。
本事象発生時に記録されるイベント
Log Name: System
Source: Service Control Manager
Event ID: 7024
Level: Error
Description:
Windows Defender Firewall サービスは、次のサービス固有エラーで終了しました:
パラメーターが間違っています。
対象 OS
- Windows Server 2022
- Windows 11
原因
以下のレジストリ値が肥大化していることで、Windows Defender Firewall サービスが起動時にレジストリの読み込みに失敗し、サービスが終了します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mpssvc\Parameters\AppCs\DebugedLoopbackApps
DebugedLoopbackApps のレジストリ値が肥大化している場合、レジストリ エディターでキーは確認できますが、値をダブルクリックしてもデータが表示されません。
・本事象発生時のレジストリ エディターの表示例
対処策
以下の手順で肥大化した DebugedLoopbackApps のレジストリ値を削除することで、Windows Defender Firewall サービスが起動できるようになります。
その後、DebugedLoopbackApps のレジストリ値は再作成されます。
手順
以下のサイトからから PSTools.zip をダウンロードします。
PsExec - Sysinternals | Microsoft Learnダウンロードした PSTools.zip を解凍し、任意のフォルダー(例:
C:\temp\PSTools)に配置します。ChangeOwnerAppCs.txt と RevertOwnerAppCs.txt を取得し、それぞれ拡張子を .ps1 に変更して C:\temp フォルダーに配置します。
- PowerShell を管理者権限で起動し、PSTools フォルダーに移動します。
1
cd C:\temp\PSTools
- 以下のコマンドを実行して powershell.exe をシステム権限で起動します。
1
.\psexec.exe -s -i powershell.exe
- 以下のコマンドを実行して AppCs レジストリ キーの所有者を変更します。
1
2Set-ExecutionPolicy bypass -Scope Process -Force
C:\temp\ChangeOwnerAppCs.ps1 - 以下のコマンドを実行して AppCs レジストリ キーのバックアップを取ります。
1
reg export "HKLM\System\CurrentControlSet\Services\mpssvc\Parameters\AppCs" fw.reg
- 以下のコマンドを実行して
DebugedLoopbackAppsのレジストリ値を削除します。1
reg delete "HKLM\System\CurrentControlSet\Services\mpssvc\Parameters\AppCs" /v DebugedLoopbackApps /f
- 以下のコマンドを実行して AppCs レジストリ キーの所有者をデフォルトに戻します。
1
C:\temp\RevertOwnerAppCs.ps1
- OS を再起動し、Windows Defender Firewall サービスが正常に起動することを確認します。
補足
Windows 11 では DebugedLoopbackApps のレジストリ値が肥大化していく事象はすでに改善されているため、Windows Defender Firewall サービスが繰り返し終了する問題が発生して DebugedLoopbackApps を一度削除した後は本問題が再発することはありません。
Windows Server 2022 では DebugedLoopbackApps のレジストリ値を一度削除した後に、本問題が再発した場合は同じ手順で再度削除ください。
免責事項
本サンプルコードは、あくまでもサンプルとして提供されるものです。本サンプルコードおよびそれに関連するあらゆる情報は、「現状のまま」で提供されるものであり、商品性や特定の目的への適合性に関する黙示の保証も含め、明示・黙示を問わずいかなる保証も付されるものではありません。
マイクロソフトは、お客様に対し、本サンプルコードを使用および改変するための非排他的かつ無償の権利ならびに本サンプルコードをオブジェクトコードの形式で複製および頒布するための非排他的かつ無償の権利を許諾します。
但し、お客様は (1) 本サンプルコードが組み込まれたお客様のソフトウェア製品のマーケティングのためにマイクロソフトの会社名、ロゴまたは商標を用いないこと (2) 本サンプルコードが組み込まれたお客様のソフトウェア製品に有効な著作権表示をすること、および(3)本サンプルコードの使用または頒布から生じるあらゆる損害(弁護士費用を含む)に関する請求または訴訟について、マイクロソフトおよびマイクロソフトの取引業者に対し補償し、損害を与えないことに同意するものとします。
更新履歴
- 2025/11/18 : 本 Blog の公開
特記事項
本情報の内容(添付文書、リンク先などを含む)は作成日時点でのものであり、予告なく変更される場合があります。