我有几个旧服务,我想完全卸载.我怎样才能做到这一点?
使用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
Open:行.单击确定.
导航 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
向下滚动左窗格,找到服务名称,右键单击它并选择"删除".
重新启动系统.
使用services.msc或("开始">"控制面板">"管理工具">"服务")查找相关服务.双击以查看服务名称和可执行文件的路径.
检查exe版本信息以获取有关服务所有者的线索,并使用"添加/删除程序"进行干净卸载(如果可能).
如果失败,从命令提示符:
sc stop servicexyz sc delete servicexyz
不需要重启.
SC DELETE "service name"
以管理员身份在cmd上运行该命令,否则您将收到此错误: -
openservice失败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服务
如果您知道正确的路径,则很容易从注册表中删除服务.我是这样做的:
运行Regedit或Regedt32
转到注册表项"HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services"
查找要删除的服务并将其删除.您可以查看密钥以了解服务使用的文件,并删除它们(如有必要).
通过命令窗口删除Windows服务
或者,您也可以使用命令提示符并使用以下命令删除服务:
sc删除
您还可以使用以下命令创建服务
sc创建"MorganTechService"binpath ="C:\ Program Files\MorganTechSPace\myservice.exe"
注意:您可能必须重新引导系统才能在服务管理器中更新列表.
如果他们是.NET创建的服务,你可以使用installutil.exe和/ u在.net框架文件夹中切换它,如C:\ Windows\Microsoft.NET\Framework64\v2.0.50727
如上所述,我执行了:
sc delete ServiceName
但是这不起作用,因为我从PowerShell执行它.
使用PowerShell时,必须指定完整路径,sc.exe
因为PowerShell具有用于sc
将其分配的默认别名Set-Content
.由于它是一个有效的命令,它实际上不会显示错误消息.
要解决这个问题,我按如下方式执行:
C:\Windows\System32\sc.exe delete ServiceName