如何在Windows中删除服务?

时间:2008-09-16 19:36:41

标签: windows-services sysadmin administration

我想要完全卸载一些旧服务。我怎么能这样做?

13 个答案:

答案 0 :(得分:730)

使用 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 :(得分:43)

点击开始 | 运行并在“打开:”行中输入regedit。单击“确定”。

导航至HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

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

重新启动系统。

答案 2 :(得分:15)

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

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

在命令提示符下失败:

sc stop servicexyz
sc delete servicexyz

不需要重启。

答案 3 :(得分:12)

SC DELETE "service name"

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

  

openservice failed 5访问被拒绝

答案 4 :(得分:8)

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

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

例如:sc delete moneytransfer

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

找到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上经过测试。

答案 5 :(得分:8)

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

通过注册表删除Windows服务

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

  1. 运行 Regedit Regedt32

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

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

  4. 通过命令窗口删除Windows服务

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

    sc删除

    您还可以使用以下命令

    创建服务

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

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

答案 6 :(得分:6)

如上所述我执行了:

sc delete ServiceName

然而,当我从PowerShell执行它时,这并没有起作用。

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

要解决此问题,我按如下方式执行:

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

答案 7 :(得分:5)

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

答案 8 :(得分: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

答案 9 :(得分:1)

sc删除名称

答案 10 :(得分:0)

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

答案 11 :(得分:0)

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

您可以查看:

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

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

答案 12 :(得分:0)

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

Preview

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

可执行文件:[Download]

源代码:[Download]

博客文章:[BlogLink]

服务编辑器类:WinServiceUtils.cs