答案是服务注册项缺失,需用sc命令重建mpssvc并修复依赖服务、重置防火墙策略、运行sfc/DISM修复系统文件、授予注册表权限及补全mpssvc键值。

当你在 Windows 10 安全中心点击“防火墙和网络保护”→“域网络/专用网络/公用网络”任一开关时,弹出提示“缺少关联的系统服务”,说明 mpssvc(Windows Defender 防火墙)服务注册表项已完全丢失——服务管理器里根本找不到该项,右键菜单无“属性”,sc query mpssvc 返回“[SC] EnumQueryServicesStatus:OpenService FAILED 1060”,此时不是配置问题,而是系统服务骨架被删空。
确认服务是否真实消失
按 Win + R 输入 services.msc 回车,打开服务管理器。滚动列表查找“Windows Defender 防火墙”(对应服务名 mpssvc)。【若整行条目彻底不见,或右键空白处无任何服务上下文菜单,即确认注册表项已被删除】。不要尝试右键刷新或重启服务管理器,这无法恢复已丢失的注册项。
再打开管理员权限的 Windows 终端,执行:sc query mpssvc。若返回 ERROR: 1060(指定服务未安装),而非 STATE: 1 或 4,则坐实服务注册项缺失。
用 sc 命令重建 mpssvc 服务
方法一:手动注册服务(适用于 system32\svchost.exe 和 firewall 相关 DLL 完好)
以管理员身份运行 Windows 终端(右键开始按钮 → “Windows 终端(管理员)”)。
逐行输入以下命令(注意空格、等号前后无空格、路径中反斜杠为英文):
sc create mpssvc binPath= "%SystemRoot%\system32\svchost.exe -k netsvcs -p" start= auto depend= BFE/Winmgmt/Netman type= share
【执行完必须立即关闭并重新打开终端窗口,否则后续命令会因权限缓存失败】。
接着输入:sc description mpssvc "Windows Defender Firewall"
最后验证:sc query mpssvc。若返回 STATE: 1 STOPPED 或 STATE: 4 RUNNING,说明注册成功;若仍报 1060,说明 svchost.exe 路径异常或依赖服务名拼写错误,请逐字核对。
修复底层依赖与注册表权限
第一步:强制启动三大依赖服务
① 在管理员终端中执行:net start bfe(Base Filtering Engine)
② 执行:net start winmgmt(Windows Management Instrumentation)
③ 执行:net start netprofm(Network List Service)
如果某条命令报“服务没有及时响应”,说明其前置依赖未就绪——BFE 必须先于 winmgmt 启动,winmgmt 必须先于 netprofm 启动,顺序不可颠倒。
第二步:授予 NT SERVICE\mpssvc 注册表完全控制权
以管理员身份运行 regedit → 导航至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess → 右键 → 权限 → 添加 → 输入 NT SERVICE\mpssvc → 勾选“完全控制” → 确定。
第三步:重置防火墙策略模块
在管理员终端中执行:netsh advfirewall reset。这会清空所有自定义规则,但能绕过 UI 层因策略加载失败导致的“缺少服务”误判。
运行系统级修复命令
在同一个管理员终端中,按顺序执行以下两条命令,每条执行完毕、光标回到新行后再敲下一条:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
DISM 过程中若提示“找不到源”,直接忽略——Windows 会自动回退到在线更新源下载缺失文件,无需手动挂载镜像。

















