如何删除Windows下的服务?

我有两个旧的服务,我想完全卸载。我该怎么做呢?

752597 次浏览

单击开始 | 运行并在“打开:”行中键入regedit。单击OK。

导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

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

重新启动系统。

使用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

Sc删除名称

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

检查exe版本信息,以找到服务所有者的线索,如果可能的话,使用添加/删除程序进行干净的卸载。

如果做不到,从命令提示符中:

sc stop servicexyz
sc delete servicexyz

不需要重新启动。

下面是传递给我的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
如果它们是。net创建的服务,您可以使用带有/u开关的installutil.exe 它在。net framework文件夹中 C:\Windows\ Microsoft.NET \ Framework64 \ v2.0.50727 < / p >

如果您使用的是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上进行了测试。

SC DELETE "service name"

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

Openservice失败访问被拒绝

我们有两种不同的方法

通过注册表删除Windows服务

如果你知道正确的路径,很容易从注册表中删除服务。以下是我的做法:

  1. 执行注册表编辑器Regedt32命令

  2. 打开注册表项“HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"

  3. 查找要删除的服务并删除它。您可以查看这些键来了解服务正在使用哪些文件,并在必要时删除它们。

通过命令窗口删除Windows服务

您也可以使用命令提示符删除服务,如下所示:

sc删除

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

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

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

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

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

你可以查看一下:

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

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

如上所述,我执行:

sc delete ServiceName

然而,这并没有工作,因为我是从PowerShell执行它。

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

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

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

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

Preview

可以选择任意业务>修改>删除。方法立即工作,不需要重新启动。

可执行文件:(下载)

源代码:(下载)

博客文章:(BlogLink)

服务编辑器类:WinServiceUtils.cs

这在Windows 10上很管用:

  • 以管理员身份启动cmd.exe
  • 运行SC DELETE "com.docker.service"
  • 重新安装码头工人