我有几个旧服务想要完全卸载。我怎样才能做到这一点?

有帮助吗?

解决方案

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

其他提示

点击 开始 | 跑步 并输入 regedit 在公开赛中:线。单击“确定”。

导航 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

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

重新启动系统。

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

检查 exe 版本信息以获取有关服务所有者的线索,并在可能的情况下使用“添加/删除程序”进行彻底卸载。

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

sc stop servicexyz
sc delete servicexyz

不需要重新启动。

SC DELETE "service name"

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

openservice failed 5 访问被拒绝

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

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

通过注册表删除 Windows 服务

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

  1. 跑步 注册表编辑器 或者 雷格特32

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

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

通过命令窗口删除Windows服务

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

删除

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

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

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

如上所述,我执行了:

sc delete ServiceName

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

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

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

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

如果它们是.NET创建的服务,则可以在.NET Framework文件夹中使用installutil.exe,例如C: Windows Microsoft.net Framework64 v2.0.50727

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

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

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

你可以检查一下:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top