【问题标题】:How can I delete a service in Windows?如何在 Windows 中删除服务?
【发布时间】:2010-09-09 17:13:05
【问题描述】:

我想完全卸载一些旧服务。我该怎么做?

【问题讨论】:

    标签: windows-services sysadmin administration


    【解决方案1】:

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

    SC STOP shortservicename
    SC DELETE shortservicename
    

    注意:您需要以管理员身份运行命令提示符,不仅要以管理员身份登录,还要具有管理权限。如果您收到上述关于没有必要的访问权限来停止和/或删除服务的错误,请以管理员身份运行命令提示符。您可以通过在开始菜单上搜索命令提示符然后右键单击并选择“以管理员身份运行”来执行此操作。 PowerShell 用户注意事项: scset-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
    

    【讨论】:

    • 删除 SSDP 发现服务?它用于检测和配置本地网络上的 UPnP 设备,您不应删除它。它只是作为一个例子。
    • 哦,我明白了,是的。我以为您的意思是不建议删除服务。感谢您的回答!
    • 我想知道有多少系统管理员已经不小心删除了他们的 SSDPSRV 服务,纯粹是因为这个答案:p
    • 使用sc query state= all获取完整的服务列表;基本sc query 不会返回非活动(又名禁用)服务。
    • 请注意,如果您使用的是 PowerShell,sc 的别名为 set-content。所以sc delete service 实际上会创建一个名为delete 的文件,其内容为service。要在 Powershell 中执行此操作,请改用 sc.exe delete service
    【解决方案2】:

    点击开始 | 运行并在 Open: 行中输入 regedit。点击确定。

    导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

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

    重启系统。

    【讨论】:

    • 当托管服务的可执行文件已被删除(未卸载)并且首选的sc delete 机制失败时,这是一个很好的回退。谢谢。
    • 感谢您添加重启系统。我在其中一个参数中创建了一个路径错误的服务,但它没有正常启动,所以我删除了它,修复了路径并尝试再次创建它,只是为了得到服务被标记为删除的错误。
    【解决方案3】:

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

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

    如果失败,从命令提示符:

    sc stop servicexyz
    sc delete servicexyz
    

    不需要重新启动。

    【讨论】:

    • 请注意,如果服务名称中有空格,则必须将全名括在引号中 - 如sc delete "Amazon Assistant Service"
    【解决方案4】:
    SC DELETE "service name"
    

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

    openservice failed 5 访问被拒绝

    【讨论】:

      【解决方案5】:

      如上所述,我执行了:

      sc delete ServiceName
      

      但是这不起作用,因为我是从 PowerShell 执行的。

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

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

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

      【讨论】:

        【解决方案6】:

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

        通过注册表删除 Windows 服务

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

        1. 运行 RegeditRegedt32

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

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

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

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

        sc 删除

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

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

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

        【讨论】:

        • regedit 方法对我不起作用。当我刷新服务管理器时,它仍然显示服务,但它有一个错误,指出它无法显示描述。
        • 注意:您可能需要重新启动系统才能在服务管理器中更新列表。
        • 也许可以,但这使得 regedit 方法不如 SC 命令,后者不需要重新启动。
        • 这搞砸了我的服务:(请不要误导这个愚蠢的东西,自动在其搜索页面中显示此分析器,我信任它并盲目地跟踪它而不单击 SOF 链接,我不得不重新映像我的机器.
        • 感谢注册表方法。只有这样我才能在叛徒机器上做到这一点。
        【解决方案7】:

        如果您有 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】:

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

          【讨论】:

            【解决方案9】:

            这是一个传给我的 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
            

            【讨论】:

            • 可能是 nameofmyservice,而不是 NameOfMyService,因为 sname 之前的每一行都是小写的。
            【解决方案10】:

            sc 删除名称

            【讨论】:

              【解决方案11】:

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

              你可以检查一下:

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

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

              【讨论】:

                【解决方案12】:

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

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

                【讨论】:

                  【解决方案13】:

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

                  【讨论】:

                  • 如何查看程序和功能中安装的服务
                  • 如果我没记错的话,那是我认为是 splunk 的程序在安装后作为服务运行,因为它在本地托管,您可以转到 localhost:8080 查看本地网站.为了让我删除它,我必须使用整个程序。
                  • 谢谢。我使用命令提示符安装了这些服务。我在 cmd pmpt 中使用 cmd 删除了。再次感谢您的回复。
                  【解决方案14】:

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

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

                  可执行文件:[Download]

                  源码:[Download]

                  博文:[BlogLink]

                  服务编辑器类:WinServiceUtils.cs

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2015-06-24
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2017-01-30
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多