最新消息: 预先成其事必先利其器

安全软件在系统里留下的自启位置与检查方法

卸载安全软件之后开机仍然有东西在跑,是很常见的情况。这类常驻入口一共六处,逐个列出来比装一个启动项管理工具更可靠,因为工具本身往往只覆盖其中两三处。

位置 怎么列出来 看到什么算正常
启动文件夹 运行 shell:startup 和 shell:common startup 只留自己放的应用
注册表 Run 项 下面两条 Get-ItemProperty 除显卡、声卡、输入法外不该有一大串
服务 services.msc,或者筛启动类型为自动的服务 一款安全软件通常留 1 到 2 个服务
计划任务 taskschd.msc,或下面第四条命令 保留更新任务可以,触发器密集的要看归属
浏览器扩展与策略 各浏览器扩展页加注册表 Policies 键 策略里不该留第三方的强制安装项
驱动与过滤层 driverquery /v 卸载后残留的 .sys 多见于杀毒类和管家类产品

一次性把四类入口列出来

Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
Get-ItemProperty 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
Get-CimInstance Win32_Startup | Select-Object Name, Command, Location
Get-ScheduledTask | Where-Object State -ne 'Disabled' | Select-Object TaskName, TaskPath

Win32_Startup 会把启动文件夹和 Run 项一起报出来,Command 列直接给出可执行文件路径,这一步看完基本能知道剩下的入口在谁手里。计划任务那一条要重点看 TaskPath,安全厂商的更新任务常放在以自己名字命名的子文件夹里,路径带着厂商标识的就是它装的。

区分残留和正常组件

三个判据一起用。第一是文件位置:还在 C:\Program Files 或者 ProgramData 下自己厂商目录里的,属于没卸载干净。第二是数字签名:右键属性看签名者,签名失效或者根本没有签名的启动项要小心,不能只凭名字判断。第三是服务描述和依赖,一个声称是更新组件却没有任何依赖、启动类型又设为自动的服务,在主体软件已经卸掉的情况下没有存在的理由。

驱动层单独说。文件系统筛选和网络筛选驱动卸不干净时,表现往往是开机变慢、资源管理器卡顿或者网络偶发断几秒。这类东西不要直接删 .sys 文件,先把对应服务改成手动启动,重启确认一切正常再处理文件本身。

清理顺序

先跑厂商自己的卸载或者残留清理工具,这类工具会同时删服务和驱动注册;再手动禁用确认无用的计划任务和启动项;最后才手动删文件。动手前先建一个还原点或者备份系统镜像,启动项清理出问题回退比排查快。本站 124 篇写过卸载残留的服务与驱动清理,本篇只解决把入口列出来这件事。