Windows services 如何在Windows中删除服务?

Windows services 如何在Windows中删除服务?,windows-services,sysadmin,administration,Windows Services,Sysadmin,Administration,我有几个旧的服务,我想完全卸载。如何执行此操作?单击开始|运行并在打开:行中键入regedit。单击“确定” 导航至HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services 向下滚动左侧窗格,找到服务名称,右键单击它,然后选择删除 重新启动系统。使用SC命令,如下所示(您需要在命令提示符下执行本文中的命令): 注意:您需要以管理员身份运行命令提示符,不仅要以管理员身份登录,还要具有管理权限。如果出现上述错误,即没有停止和/或删除服务所需的

我有几个旧的服务,我想完全卸载。如何执行此操作?

单击开始|运行并在打开:行中键入
regedit
。单击“确定”

导航至
HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services

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

重新启动系统。

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


注意:您需要以管理员身份运行命令提示符,不仅要以管理员身份登录,还要具有管理权限。如果出现上述错误,即没有停止和/或删除服务所需的访问权限,请以管理员身份运行命令提示符。您可以通过搜索“开始”菜单上的命令提示符,然后右键单击并选择“以管理员身份运行”来完成此操作PowerShell用户注意:
sc
别名为
设置内容
。因此,
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

sc delete name

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

检查exe版本信息以获取有关服务所有者的线索,如果可能,请使用“添加/删除程序”执行干净的卸载

否则,请在命令提示符下执行以下操作:

sc stop servicexyz
sc delete servicexyz

不需要重新启动。

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

如果它们是.NET创建的服务,则可以将installutil.exe与/u开关一起使用 它位于.NETFramework文件夹中,如下所示
C:\Windows\Microsoft.NET\Framework64\v2.0.50727

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

sc delete [your service name as shown in service.msc e.g moneytransfer]
例如:
sc删除转账

删除文件夹
C:\ProgramFiles\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上进行了测试

SC DELETE "service name"
以管理员身份在cmd上运行命令,否则将出现以下错误:-

openservice失败5访问被拒绝


我们可以用两种不同的方式来做

通过注册表删除Windows服务

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

  • 运行RegeditRegedt32

  • 转到注册表项“HKEY\U LOCAL\U MACHINE/SYSTEM/CurrentControlSet/Services”

  • 查找要删除的服务并将其删除。您可以查看密钥以了解服务正在使用的文件,并删除它们(如果需要)

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

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

    sc删除

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

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


    注意:您可能需要重新启动系统才能在service manager中更新列表。

    对于我来说,我创建的服务必须在“控制面板>程序和功能”中卸载。在删除该服务之前,您应该查看依赖项

    您可以查看:

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


    来源:

    如上所述,我执行了:

    sc delete ServiceName
    
    但是,当我在PowerShell中执行它时,它不起作用

    使用PowerShell时,必须指定
    sc.exe
    的完整路径,因为PowerShell有一个
    sc
    的默认别名,将其分配给
    设置内容
    。因为它是一个有效的命令,所以实际上并不显示错误消息

    为了解决这个问题,我执行了以下步骤:

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

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

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

    可执行文件:

    源代码:

    博文:


    服务编辑器类:

    是否删除SSDP发现服务?它用于检测和配置本地网络上的UPnP设备,您不应该删除它。这只是一个例子。哦,我明白了,是的。我以为你的意思是不建议删除服务。谢谢你的回答!我想知道有多少系统管理员仅仅因为这个答案已经意外地删除了他们的SSDPSRV服务:pUse
    sc query state=all
    ,以获得完整的服务列表;基本的
    sc查询
    不会返回非活动(即禁用的)服务。请注意,如果您使用的是PowerShell,
    sc
    的别名为
    设置内容
    。因此,
    sc delete service
    将实际创建一个名为
    delete
    的文件,其内容为
    service
    。要在Powershell中执行此操作,请改用
    sc.exe delete service
    。regedit方法对我不起作用。当我刷新服务管理器时,它仍然显示服务,但它有一个错误,指出它无法显示描述。注意:您可能必须重新启动系统才能在service man中更新列表
    C:\Windows\System32\sc.exe delete ServiceName