解决开机时系统日志出现的Windows.SecurityCenter.WscBrokerManager、WscBrokerManager、SecurityAppBroker缺少SYSTEM本地启动权限

最近偶然发现,任务栏右下角的微软自带杀毒Microsoft Defender启动慢了半拍,这两天闲来没事,说说我解决这个问题的思路和方法。

Microsoft Defender是Window系统级的程序,因为微软不开源,如果出了问题比较难跟踪原因,但是我们还有window系统日志,使用Win+R组合键,输入eventvwr.msc,即可打开;也可以右击计算机图标,选择菜单下的管理,切换到事件查看器-Windows日志-系统查看,打开后如下所示:

 可以看到开机后,出现三个警告提示分别是:

1.

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 
Windows.SecurityCenter.WscBrokerManager
、APPID 为 
不可用
 的 COM 服务器应用程序的 本地 启动 权限。此安全权限可以使用组件服务管理工具进行修改。

2.

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 
Windows.SecurityCenter.WscDataProtection
、APPID 为 
不可用
 的 COM 服务器应用程序的 本地 启动 权限。此安全权限可以使用组件服务管理工具进行修改。

3.

应用程序-特定 权限设置并未向在应用程序容器 不可用 SID (不可用)中运行的地址 LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)授予针对 CLSID 为 
Windows.SecurityCenter.SecurityAppBroker
、APPID 为 
不可用
 的 COM 服务器应用程序的 本地 启动 权限。此安全权限可以使用组件服务管理工具进行修改。

如上所示,可以发现

Windows.SecurityCenter.WscBrokerManager

Windows.SecurityCenter.WscDataProtection

Windows.SecurityCenter.SecurityAppBroker

这三个CLSID都是属于win系统的安全中心(SecurityCenter),但是报错日志内所说的"LocalHost (使用 LRPC) 中的用户 NT AUTHORITY\SYSTEM SID (S-1-5-18)"和"不可用的COM 服务器应用程序的本地启动权限"又是什么呐?以下是我寻找答案的过程。

先搜索下日志中的内容看看,找到很多结果,如下:

https://answers.microsoft.com/zh-hans/windows/forum/all/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F/fd690ac3-6f36-4afe-86f5-93cab559681chttps://answers.microsoft.com/zh-hans/windows/forum/all/%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F/fd690ac3-6f36-4afe-86f5-93cab559681c其中就是微软论坛上网友关于Windows.SecurityCenter.WscBrokerManager报错日志的问题,但是微软官方并没有给出什么好的解决方法,我又连着搜索了下全网的帖子,包括b站的一个挖坟贴,发现这个问题起码在2018年之前就已经出现了,而且网上根本没有什么可用的解决方法,包括外网也只搜到一个删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole下的删除以下键:DefaultAccessPermission、DefaultLaunchPermission、MachineAccessRestriction和MachineLaunchRestriction的方法,但是我没有去尝试这个方法,因为操作这些系统底层注册表的方法有很大的威胁性,可能导致系统的损坏,虽然这个老外说可以解决,但是我们还是不能人云亦云,我这个人喜欢追溯本源。

总结网上关于这个问题的讨论有以下几种:

1.修改DCOM下的APPID中的这个组件的属性-安全选项,启动和激活权限-添加报错账户(SID)的本地启动权限。

2.修改HKEY_CLASSES_ROOT\AppID\下相应的AppID报错组件的项的注册表读写权限。

3.不予以理会这个报错提示,在window中警告日志是正常的。

显然我们这个报错组件是一个系统内置的组件,并没有AppID,至于修改注册表权限显然和报错提示关系不大,至于最后说的不予理睬显然是躺平的感觉。

那么到底是什么原因造成的?

我注意到了日志中的LocalHost (使用 LRPC),显然这可能是一个service服务启动的RPC进程,为了更好的跟踪这个错误的发生,我们可以使用sysmon这个微软小工具,它可以捕获系统的日志,并自定义过滤条件。

使用win+r运行窗口,打开下载的sysmon目录,找到sysmon64.exe,运行如下命令:

Sysmon64.exe -accepteula -i

就会开启sysmon的日志记录功能,如果不需要使用时,用如下命令解除安装:

Sysmon64.exe -u

当然你如果需要自定义记录的日志对象,可以使用xml的配置文件,用记事本新建一个任意名称的xml文件,按照如下的例子输入需要监控的进程、管道、注册表行为,如果你有编写有困难,可以求助deepseek、gpt等AI编写:

<Sysmon schemaversion="4.50">
  <EventFiltering>
  
    <!-- 捕获进程创建 -->
    <ProcessCreate onmatch="include">
      <Image condition="contains">SecurityHealthService.exe</Image>
      <Image condition="contains">svchost.exe</Image>
      <Image condition="contains">explorer.exe</Image>
    </ProcessCreate>

    <!-- 捕获命名管道创建(LRPC) -->
    <PipeEvent onmatch="include">
      <PipeName condition="contains">\RPC Control</PipeName>
    </PipeEvent>

    <!-- 捕获注册表读取 COM CLSID 的行为 -->
    <RegistryEvent onmatch="include">
      <TargetObject condition="contains">{F4AEB1A5-6D1D-49D2-BE38-193ABFDD2ED3}</TargetObject>
    </RegistryEvent>

  </EventFiltering>
</Sysmon>

 然后使用如下命令安装配置文件:

Sysmon64.exe -accepteula -i sysmon-wsc-tracker.xml

sysmon-wsc-tracker.xml就是上面的配置文件,记住记事本保存时需要用ANSI格式另存为。

如果你需要修改xml配置,可以使用下面的命令让修改后的配置生效:

Sysmon64.exe -c sysmon-wsc-tracker.xml

在这个案例中,我们其实只要使用它的基础功能即可, 不一定需要配置文件。

Sysmon 默认配置会记录以下核心安全事件(但比较基础):

事件ID说明
1进程创建(Process Create)✅ 很重要
3网络连接(Network Connect)
5进程终止
6/7加载驱动

✅ 默认配置适合快速部署,但如果你想要精细控制事件记录类型、过滤规则、白名单等,推荐使用自定义 XML 配置。

输入上面的命令后,我们关闭电脑后,重新开机,跟踪下发生报错日志信息的,同一时间发生的sysmon日志。

下面是系统自带日志的报错时间

下面是sysmon的日志位置:

定位sysmon到相同的时间: 

可以看到上面引起错误的是svchost.exe进程,显然是一个系统服务进程,它执行的命令如下:

CommandLine: C:\Windows\System32\svchost.exe -k LocalServiceNetworkRestricted -p -s wscsvc

用gpt详细解析下:

部分含义
C:\Windows\System32\svchost.exeWindows 服务宿主进程(Service Host)
-k LocalServiceNetworkRestricted表示服务运行在一个叫做 LocalServiceNetworkRestricted 的服务组中,限制了网络访问权限(沙箱环境)
-p启用 持久模式(PBR),提高服务可靠性(Windows 10/11 默认)
-s wscsvc指定要启动的服务名称:wscsvc,也就是 Windows Security Center 服务

 Windows Security Center这个服务,我们到管理工具-服务下,找到这个服务,如下: 

如上图所示,我来猜测分析下为什么会出现错误日志,可以看到这个服务是启动了,说明命令运行是成功的,那么为什么会报警告?我估计是这个服务设置了自动延迟启动,也就是没有立即启动,可能system权限的关系,导致了出现警告日志,定位到了问题的根源就好办了,只要把服务启动类型设置成自动就行了,所以最终的解决方法如下:

  1. 打开注册表编辑器:Win + R → 输入 regedit → 回车

  2. 定位到路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\wscsvc

     3.找到并修改以下两个值:

键名原值修改为
Start2(自动)保持为 2(不变)
DelayedAutoStart1(启用延迟)修改为 0(关闭延迟)

注意:DelayedAutoStart 是 DWORD 类型,设为 0 即为“自动立即启动

    4.修改后,重启电脑即可生效。

如下图所示:

重启电脑后,发现没有相关警告提示出现了,查看这个服务已变成自动启动状态了,如下图:

如果大家有这个警告日志可以使用我的方法试试,后续如果又会出现这个警告也可以发在评论区给大家讨论,谢谢大家的关注与支持,再见! 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虫鸣@蝶舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值