477

我有几个旧服务要完全卸载。我怎样才能做到这一点?

4

14 回答 14

890

使用SC命令,如下所示(您需要在命令提示符下执行本文中的命令):

SC STOP shortservicename
SC DELETE shortservicename

注意:您需要以管理员身份运行命令提示符,不仅要以管理员身份登录,还要具有管理权限。如果您收到上述关于没有停止和/或删除服务的必要访问权限的错误,请以管理员身份运行命令提示符。您可以通过在开始菜单上搜索命令提示符,然后右键单击并选择“以管理员身份运行”来执行此操作。PowerShell 用户注意: sc别名为set-content. 所以sc delete service实际上会创建一个名为deletecontent的文件service。要在 Powershell 中执行此操作,请sc.exe delete service改用


如果您需要查找服务的短服务名称,请使用以下命令生成包含服务列表及其状态的文本文件:

SC QUERY state= all >"C:\Service List.txt"

要获得更简洁的列表,请执行以下命令:

SC QUERY state= all | FIND "_NAME"

短服务名称将列在显示名称上方,如下所示:

SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service

因此要删除该服务:

SC STOP MyService
SC DELETE MyService
于 2008-09-16T19:41:17.217 回答
60

点击开始| 运行并输入regeditOpen: 行。单击确定。

导航HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

向下滚动左窗格,找到服务名称,右键单击它并选择 Delete

重新启动系统。

于 2008-09-16T19:39:10.733 回答
25

使用services.msc或(开始 > 控制面板 > 管理工具 > 服务)查找有问题的服务。双击以查看服务名称和可执行文件的路径。

检查 exe 版本信息以获取有关服务所有者的线索,并尽可能使用添加/删除程序进行干净卸载。

做不到这一点,从命令提示符:

sc stop servicexyz
sc delete servicexyz

不需要重新启动。

于 2008-09-16T19:44:56.070 回答
18
SC DELETE "service name"

以管理员身份在 cmd 上运行命令,否则您将收到此错误:-

openservice failed 5 访问被拒绝

于 2013-09-18T06:22:26.467 回答
13

如上所述,我执行了:

sc delete ServiceName

但是,当我从 PowerShell 执行它时,这不起作用。

使用 PowerShell 时,您必须指定完整路径,sc.exe因为 PowerShell 有一个默认别名用于sc将其分配给Set-Content. 由于它是一个有效的命令,它实际上并没有显示错误消息。

为了解决这个问题,我执行如下:

C:\Windows\System32\sc.exe delete ServiceName
于 2018-03-08T04:22:55.323 回答
9

我们可以通过两种不同的方式来做到这一点

通过注册表删除 Windows 服务

如果您知道正确的路径,从注册表中删除服务非常容易。我是这样做的:

  1. 运行RegeditRegedt32

  2. 转到注册表项“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services”

  3. 查找您要删除的服务并将其删除。您可以查看密钥以了解服务正在使用哪些文件并删除它们(如有必要)。

通过命令行窗口删除 Windows 服务

或者,您也可以使用命令提示符并使用以下命令删除服务:

sc 删除

您还可以使用以下命令创建服务

sc create "MorganTechService" binpath= "C:\Program Files\MorganTechSPace\myservice.exe"

注意:您可能必须重新启动系统才能在服务管理器中更新列表。

于 2013-09-23T16:50:23.790 回答
8

如果您有 Windows Vista 或更高版本,请以管理员身份从命令提示符运行:

sc delete [your service name as shown in service.msc e.g moneytransfer]

例如:sc delete moneytransfer

删除文件夹C:\Program Files\BBRTL\moneytransfer\

查找汇款注册表项并将其删除:

 HKEY_CLASSES_ROOT\Installer\Products\
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\
 HKEY_LOCAL_MACHINE\System\CurrentControlSet002\Services\EventLog\
 HKEY_LOCAL_MACHINE\Software\Classes\Installer\Assemblies\ [remove .exe references]
 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Folders

这些步骤已经在 Windows XP、Windows 7、Windows Vista、Windows Server 2003 和 Windows Server 2008 上进行了测试。

于 2013-03-07T16:00:18.100 回答
6

如果它们是 .NET 创建的服务,您可以使用 installutil.exe 和 /u 开关在 .net 框架文件夹中,如 C:\Windows\Microsoft.NET\Framework64\v2.0.50727

于 2008-10-28T04:37:49.203 回答
2

这是一个传给我的 vbs 脚本:

Set servicelist = GetObject("winmgmts:").InstancesOf ("Win32_Service")

for each service in servicelist
    sname = lcase(service.name)
    If sname = "NameOfMyService" Then 
        msgbox(sname)
        service.delete ' the internal name of your service
    end if
next
于 2008-09-16T19:53:47.500 回答
1

sc 删除名称

于 2008-09-16T19:42:52.173 回答
1

在删除服务之前,您应该查看依赖项。

你可以检查它:

打开services.msc并找到服务名称,切换到“依赖项”选项卡。

资料来源:http ://www.sysadmit.com/2016/03/windows-eliminar-un-servicio.html

于 2016-03-21T14:26:58.580 回答
1

这在 Windows 10 上为我完成了这项工作:

  • 以管理员身份启动 cmd.exe
  • 运行 SC DELETE “com.docker.service”
  • 重新安装泊坞窗
于 2021-08-13T11:50:34.257 回答
0

对我来说,我创建的服务必须在控制面板 > 程序和功能中卸载

于 2015-10-14T22:33:50.770 回答
0

您可以使用我的小型服务列表编辑器实用程序服务管理器

预览

您可以选择任何服务 > 修改 > 删除。方法立即生效,无需重启。

可执行文件:[下载]

源代码:[下载]

博客文章:[博客链接]

服务编辑器类:WinServiceUtils.cs

于 2020-02-27T09:25:17.693 回答