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


当前回答

这在Windows 10上很管用:

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

其他回答

下面是传递给我的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

如上所述,我执行:

sc delete ServiceName

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

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

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

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

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

导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

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

重新启动系统。

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

SC STOP shortservicename
SC DELETE shortservicename

Note: You need to run the command prompt as an administrator, not just logged in as the administrator, but also with administrative rights. If you get errors above about not having the necessary access rights to stop and/or delete the service, run the command prompt as an administrator. You can do this by searching for the command prompt on your start menu and then right-clicking and selecting "Run as administrator". Note to PowerShell users: sc is aliased to set-content. So sc delete service will actually create a file called delete with the content service. To do this in Powershell, use sc.exe delete service instead


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

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

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