首页 / 知识

关于sysadmin:如何在Windows中删除服务?

2023-04-16 03:49:00

关于sysadmin:如何在Windows中删除服务?

How can I delete a service in Windows?

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


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

1
2
SC STOP shortservicename
SC DELETE shortservicename

注意:您需要以管理员身份运行命令提示符,不仅要以管理员身份登录,还要具有管理权限。如果出现以上错误,提示您没有必要的访问权来停止和/或删除服务,请以管理员身份运行命令提示符。您可以通过在开始菜单上搜索命令提示符,然后右键单击并选择"以管理员身份运行"来执行此操作。给PowerShell用户的注意事项:sc别名为set-content。因此,sc delete service实际上将创建一个名为delete的文件,其内容为service。要在Powershell中执行此操作,请改用sc.exe delete service

如果需要找到服务的简短服务名称,请使用以下命令来生成一个文本文件,其中包含服务及其状态的列表:

1
SC QUERY state= all >"C:\Service List.txt"

有关更简洁的列表,请执行以下命令:

1
SC QUERY state= all | FIND"_NAME"

简短服务名称将列在显示名称的正上方,如下所示:

1
2
SERVICE_NAME: MyService
DISPLAY_NAME: My Special Service

因此要删除该服务:

1
2
SC STOP MyService
SC DELETE MyService

单击开始|运行并在"打开:"行中键入regedit。单击

导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services

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

重新启动系统。


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

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

在命令提示符下失败:

1
2
sc stop servicexyz
sc delete servicexyz

无需重新启动。


1
SC DELETE"service name"

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

openservice failed 5 access is denied


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

通过注册表删除Windows服务

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

  • 运行Regedit或Regedt32

  • 转到注册表项" HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet /服务"

  • 查找要删除的服务,然后将其删除。您可以查看这些键以了解该服务正在使用哪些文件,也可以将其删除(如有必要)。

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

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

    sc删除

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

    sc创建" MorganTechService" binpath =" C: Program Files MorganTechSPace myservice.exe"

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


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

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

    例如:sc delete moneytransfer

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

    查找转帐注册表项并将其删除:

    1
    2
    3
    4
    5
    6
    7
     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上进行了测试。


    如上所述,我执行了:

    1
    sc delete ServiceName

    但是,这不起作用,因为我正在从PowerShell中执行它。

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

    为了解决这个问题,我按如下方式执行它:

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

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


    这是一个传递给我的vbs脚本:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    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


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


    服务删除命令执行

    最新内容

    相关内容

    猜你喜欢