如何在Windows中删除服务?

问题描述 投票:418回答:13

我有几个旧服务,我想完全卸载。我该怎么办?

windows-services sysadmin administration
13个回答
775
投票

使用SC命令,就像这样(您需要在命令提示符下执行本文中的命令):

SC STOP shortservicename
SC DELETE shortservicename

注意:您需要以管理员身份运行命令提示符,不仅要以管理员身份登录,还要具有管理权限。如果出现以上错误,提示您没有必要的访问权来停止和/或删除服务,请以管理员身份运行命令提示符。您可以通过在开始菜单上搜索命令提示符,然后右键单击并选择“以管理员身份运行”来执行此操作。 PowerShell用户注意: sc别名为set-content。因此,sc delete service实际上将创建一个名为delete的文件,其内容为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

1
投票

sc删除名称


0
投票

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


0
投票

删除服务之前,您应该查看依赖关系。

您可以检查它:

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

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


0
投票

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

链接:[Download]

Preview

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

源代码链接:[Download]博客文章:[BlogLink]


48
投票

单击开始 | Run并在Open:行中键入regedit。单击确定。

导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

向下滚动左窗格,找到服务名称,右键单击它,然后选择删除

重新启动系统。


17
投票

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

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

失败,在命令提示符下:

sc stop servicexyz
sc delete servicexyz

不需要重新启动。


12
投票
SC DELETE "service name"

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

openservice失败5访问被拒绝


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上进行了测试。


8
投票

我们可以用两种不同的方式来做

通过注册表删除Windows服务

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

  1. 运行RegeditRegedt32

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

  3. 查找要删除的服务,然后将其删除。您可以查看这些键以了解该服务正在使用哪些文件,也可以将其删除(如果需要)。

通过命令窗口删除Windows服务

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

sc删除

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

sc创建“ MorganTechService” binpath =“ C:\ Program Files \ MorganTechSPace \ myservice.exe”

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


6
投票

如果它们是.NET创建的服务,则可以将installutil.exe与/ u开关一起使用它在.net framework文件夹中C:\ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727


6
投票

如上所述,我执行过:

sc delete ServiceName

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

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

为了解决这个问题,我按以下步骤执行它:

C:\Windows\System32\sc.exe delete ServiceName

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
© www.soinside.com 2019 - 2024. All rights reserved.