Windows 安全中心打开一片黑:从服务启动类型查起
Windows 安全中心打开一片黑:从服务启动类型查起
Windows 安全中心点开一片黑,标题栏在、里面什么都没有。多数情况应用本身没坏,问题出在它底下的服务被关掉了。界面只是个空壳,内容全靠几个系统服务喂数据,服务没起来,界面就画不出来。先别急着重装应用,按下面几步查,十分钟能定位。
先看应用本身有没有坏
PowerShell 里查包状态:
Get-AppxPackage Microsoft.SecHealthUI
看两样:Version 和 Status。Status 是 Ok、进程也在跑,说明应用没坏,问题在服务层,接着往下查。只有 Status 异常才考虑重新注册应用包,那不是本文的重点。
查两个服务的启动类型
命令行查:
sc qc wscsvc
sc qc SecurityHealthService
或者 services.msc 里搜这两个名字。安全中心界面依赖的是这两个:
- wscsvc,安全中心服务,默认自动(延迟启动)。它把杀软、防火墙、账户保护的状态聚合起来喂给界面。
- SecurityHealthService,Windows 安全中心服务,默认手动。它是安全中心 UWP 应用的后端。
只要 wscsvc 显示 DISABLED,界面就是空壳。常见于「系统优化」「精简」类脚本,而且这类脚本一关就是一批:
wscsvc 安全中心 DISABLED
SecurityHealthService Windows 安全中心服务 DISABLED
WinDefend Defender 防病毒服务 DISABLED
WdNisSvc Defender 网络检查服务 DISABLED
webthreatdefsvc Web 威胁防御服务 DISABLED
wscsvc 和 SecurityHealthService 管界面,WinDefend 和 WdNisSvc 管查杀。全关了就是「界面黑框 + 防护为零」一起出现,同一个症状里藏着两个问题。
改启动类型,可能撞权限
正常情况下 sc config 就能改回来:
sc config wscsvc start= delayed-auto
sc config SecurityHealthService start= demand
start= 后面有空格,别省。如果报这个:
[SC] OpenService 失败 5:
拒绝访问。
说明不止服务被禁,连服务的权限(DACL)也被改过,Administrators 只剩读权限,改配置、停服务这两个权限都被摘了。普通管理员令牌动不了,要提权到 SYSTEM。
办法是用计划任务以 SYSTEM 身份写注册表。服务的启动类型存在:
HKLM\SYSTEM\CurrentControlSet\Services\<服务名>\Start
Start 值:2 是自动,3 是手动,4 是禁用。用 SYSTEM 跑一条 reg add:
schtasks /create /tn FixWsc /tr "reg add HKLM\SYSTEM\CurrentControlSet\Services\wscsvc /v Start /t REG_DWORD /d 2 /f" /sc once /st 00:00 /ru SYSTEM /f
schtasks /run /tn FixWsc
schtasks /delete /tn FixWsc /f
三个服务写回默认值:wscsvc 写 2,SecurityHealthService 和 webthreatdefsvc 写 3。
改完必须重启
Start 值进注册表了,sc start 还是报:
[SC] StartService 失败 1058:
无法启动服务,原因可能是已被禁用或与其相关联的设备没有启动。
服务控制管理器(SCM)在开机初始化时读一次注册表、把状态缓存进内存,改注册表不会热更新。这一步没有捷径,重启一次。
重启后怎么验证
sc query wscsvc
sc query SecurityHealthService
两个都显示 RUNNING 就对了。再看数据链路通没通:
Get-CimInstance -Namespace root\SecurityCenter2 -ClassName AntiVirusProduct
能列出杀软产品(比如 Lenovo Anti-Virus、Windows Defender),说明 wscsvc 的 provider 正常,界面这时才有内容可画。打开安全中心,黑框应该没了。
别忘了核对实际防护
界面能打开,不等于防护在。排查时顺手看两个地方:
Get-MpPreference
sc qc WinDefend
Get-MpPreference 报 0x800106ba,说明 Defender 服务停着,命令行接口废了;WinDefend 显示 DISABLED,说明杀毒引擎本身被关。机器上注册的第三方杀软也可能只剩个产品项、引擎进程没跑。这类被「优化」过的机器,界面修好之后防护常常还是空的,得单独把 Defender 的策略值和第三方杀软引擎看一遍。
总结
安全中心黑框,先看 Get-AppxPackage 的包状态,Ok 就直接查 wscsvc 和 SecurityHealthService 的启动类型,别耗在重装应用上。sc config 报拒绝访问 5 说明服务 DACL 也被改,走 SYSTEM 计划任务写注册表 Start 值。改完必须重启,sc start 在重启前一律报 1058。最后用 root\SecurityCenter2 验证数据链路。黑框没了不等于完事,Defender 策略值和第三方杀软引擎还要单独看,不少机器界面能开了、防护照样是空的。