65.9K
CodeProject 正在变化。 阅读更多。
Home

删除 Windows 服务的 2 种方法(还有一个可供您尝试的虚拟无用 Windows 服务)

starIconstarIconstarIconstarIconstarIcon

5.00/5 (3投票s)

2018年8月24日

CPOL

2分钟阅读

viewsIcon

11838

downloadIcon

246

如何从服务列表中移除 Windows 服务(不仅仅是停止/禁用它,而是完全从列表中删除它)

引言

两种完全从服务列表中移除 Windows 服务的方法

  • InstallUtil.exe /u [FullPath\ServiceName.exe]
  • SC delete [ServiceName]

我更喜欢使用“SC”的方式。它更简洁,并且能够真正删除服务,即使某个旧的 [ServiceName.exe] 文件损坏,并且在那种情况下 InstallUtil.exe /u 无法帮助。我实际上遇到过这种情况。

Using the Code

要尝试我的代码示例,请确保您创建与图示相同的文件夹/路径。

创建两个文件夹用于测试:

  1. c:\temp\ServiceTest
  2. c:\temp\ServiceTestInstaller

第一个文件夹包含一个虚拟服务(无操作),用于安装/卸载。

第二个文件夹包含供您尝试的脚本。

 

以下是测试步骤。

步骤 1

右键单击“00_InstallMyService.bat”,并确保选择“以管理员身份运行”选项。

这应该会安装虚拟服务,如下所示

我用红色标记了几个需要您注意的地方:可执行 EXE 文件名、服务名称、显示名称、描述是给定服务的四个不同属性。

稍后在脚本中,您会看到 EXE 名称服务名称 确实很重要。

第二步

右键单击“01_UnInstallMyService.bat”,并确保选择“以管理员身份运行”选项。完成后,返回服务列表,您会看到该服务已完全消失。

它所做的就是这样

"C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" /u "C:\temp\ServiceTest\MyServiceAbc.exe"
pause

步骤 3

重复步骤 1 以再次安装该服务。

步骤 4

右键单击“02_UnInstallMyService.bat”,并确保选择“以管理员身份运行”选项。完成后,返回服务列表,您会看到该服务已完全消失。

它所做的就是这样

SC delete MyServiceName
pause

关注点

这些代码已在 Windows 10 和 Windows 2008 R2 环境中进行了测试。

这里没有什么特别的,但了解您的选项始终是好的。

我同时附上了所有代码

希望这有帮助!

© . All rights reserved.