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


当前回答

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

其他回答

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

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

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

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

sc stop servicexyz
sc delete servicexyz

不需要重新启动。

如上所述,我执行:

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。

重新启动系统。

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

你可以查看一下:

开放服务。找到服务名,切换到“Dependencies”选项卡。

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