PowerShell 中删除 Windows 服务的正确方法
请访问原文链接:PowerShell 中删除 Windows 服务的正确方法,查看最新版。原创作品,转载请保留出处。
作者主页:sysin.org
在 CMD 删除一个 Windows 服务,命令是这样的:
sc delete "Service Name"
在 PowerShell 中执行上述命令并没有报错(没有任何提示),但是实际上服务并没有被删除。
这是因为在 PowerShell 中,sc 是 cmdlet Set-Content 的别名,应该这样使用(加上 .exe):
sc.exe delete "Service Name"
PowerShell v6 开始增加了一个新的 cmdlet Remove-Service,可惜 Windows 10 包括 Server 2016、2019 内置的 PowerShell 5.1 并无法识别这个命令。有 Start-Service、Stop-Service 而没有 Remove-Service 显然是“巨硬”的失误。
总结:
| 功能 | 启动服务 | 停止服务 | 删除服务 |
|---|---|---|---|
| CDM | sc start "Service Name" | sc stop "Service Name" | sc delete "Service Name" |
| PowerShell 调用 CMD | sc.exe start "Service Name" | sc.exe stop "Service Name" | sc.exe delete "Service Name" |
| PowerShell | Start-Service -name "Service Name" | Stop-Service-name "Service Name" | Remove-Service-name "Service Name" (慎用!仅在 PS v6 及以上有效) |
补充:安装服务
PowerShell:New-Service
CMD:没有相关命令,使用 InstallUtil.exe 实用工具,此工具随 .NET Framework 安装在 %WINDIR%\Microsoft.NET\Framework[64]<framework_version> 中。

浙公网安备 33010602011771号