1. 程式人生 > 其它 >PowerShell 中刪除 Windows 服務的正確方法

PowerShell 中刪除 Windows 服務的正確方法

技術標籤:MicrosoftPowershellRemove-Service

作者:www.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-ServiceStop-Service 而沒有 Remove-Service 顯然是巨硬的失誤。

總結:

功能啟動服務停止服務刪除服務
CMDsc start “Service Name”sc stop “Service Name”sc delete “Service Name”
PowerShell 呼叫 CMDsc.exe start “Service Name”sc.exe stop “Service Name”sc.exe delete “Service Name”
PowerShellStart-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 服務