◆

Windows 用 sc delete 删除系统服务

2023-02-02 01:370

会用到这个操作,通常是软件卸载得不干净。有些程序装的时候顺手注册了一个后台服务,卸载程序却只删了主体文件,服务条目留在系统里。表现出来就是打开服务管理器还能看到那一条,状态是「已停止」,双击进去启动会报「找不到指定的文件」,因为它指向的可执行文件已经不在了。这种残留条目在服务管理器的图形界面里是删不掉的,界面只提供启动、停止、改启动类型,没有删除按钮,只能走命令行。

删除服务

打开 cmd

按下面这个组合键调出运行对话框,输入 cmd 回车。

win + r

这里有个必须注意的点:删除服务需要管理员权限,而 win + r 直接起的 cmd 是普通权限,执行删除会返回拒绝访问的错误。要么在运行框里输完 cmd 后用 ctrl + shift + enter 提权启动,要么从开始菜单找到命令提示符,右键选择以管理员身份运行。

删除服务

删之前先确认服务的真名。服务在系统里有两个名字,服务管理器列表上显示的是「显示名称」,往往是一段带空格的中文或长英文描述,而 sc 命令要的是「服务名称」,通常是一个不带空格的短标识。两者经常不一样,拿显示名称去删会提示找不到服务。正确的做法是在服务管理器里双击该条目,属性对话框第一行的「服务名称」才是要用的值。也可以用 sc query 列出当前所有服务来核对。

sc delete 服务名

执行成功会返回 [SC] DeleteService 成功。如果服务名里带空格,需要用双引号整个包起来。

再说两点边界情况。一是服务如果还在运行状态,sc delete 会把它标记为待删除,实际要等进程退出或系统重启后才真正消失,稳妥些的做法是先 sc stop 服务名 停掉再删。二是这个操作不可撤销,删掉的是注册表里对应的服务注册信息,没有回收站也没有撤销,所以动手之前一定要确认清楚删的是残留条目,而不是系统自带的服务。系统服务被误删会导致相关功能异常,恢复起来比较麻烦。拿不准的服务,宁可把启动类型改成「禁用」放着,也别删。

💬留言板0

还没有留言,来发表第一条吧~

PAGE LOAD / LIVEWindows 用 sc delete 删除系统服务加载中