PowerShell 中删除 Windows 服务的正确方法

Posted by sysin on 2018-07-03
Estimated Reading Time 1 Minutes
Words 308 In Total
Viewed Times

请访问原文链接:PowerShell 中删除 Windows 服务的正确方法,查看最新版。转载请保留出处。

作者:gc(at)sysin.org,主页:www.sysin.org

在 CMD 删除一个 Windows 服务,命令是这样的:

1
sc delete "Service Name"

在 PowerShell 中执行上述命令并没有报错(没有任何提示),但是实际上服务并没有被删除。

这是因为在 PowerShell 中,sc 是 cmdlet Set-Content 的别名,应该这样使用(加上 .exe):

1
sc.exe delete "Service Name"

PowerShell v6 开始增加了一个新的 cmdlet Remove-Service,可惜 Windows 10 包括 Server 2016、2019 内置的 PowerShell 5.1 并无法识别这个命令。有 Start-ServiceStop-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> 中。

参看:如何安装和卸载 Windows 服务




如果文章中使用的内容和图片侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有用,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!


支付宝打赏 微信打赏

赞赏一下