SC Delete无法删除服务

35

我正在运行Windows Server 2008 R2 Standard,并尝试使用“sc delete <myservicesname>”删除服务。虽然命令似乎执行成功,但在运行命令后检查服务列表时,该服务仍然存在。

有什么想法吗?


我发现Brian的答案是正确的。 - JN01
Brian的回答也帮了我,因为我正在使用powershell,而sc看起来好像什么都没做。 - Bennie van der Walt
4个回答

136

在PowerShell中,sc是Set-Content的缩写;因此如果你在PowerShell中运行,你可能会有一个名为'delete'的文件,其内容是你的服务的名称。

如果确实是这个问题,使用以下命令:

sc.exe delete servicename

4
我也受到了帮助。谢谢。 - Bennie van der Walt
谢谢,这对我有用。我之前使用的是 sc delete servicename,没有加上 .exe。 - undefined

18

服务可以被标记为删除状态,但由于某些程序正在使用它,可能无法立即删除。参考此答案以了解可能的程序持有者:https://dev59.com/tGIj5IYBdhLWcg3wKiLs#20565337

在我的情况下,我只是关闭了计算机管理窗口。


最意外的修复,没有任何迹象表明服务已被标记为删除。 - too

1

确保先停止服务,然后运行sc delete命令。它会负责关闭任何正在运行的进程。


0
你可以在PowerShell中这样做,尽管Remove-Service cmdlet仅适用于PowerShell版本6.0及以上。
$SERVICE_NAME

get-service | Where-Object {$_.Name -eq $SERVICE_NAME} | Stop_Service

try{
    if((Get-Host | Select-Object -ExpandProperty Version).Major -ge 6){
        Remove-Service -Name $SERVICE_NAME
    }else{
        sc.exe delete $SERVICE_NAME
    }
}catch{
    Write-Output $_.exception.message
}

你可以在这里找到 Remove-Service 命令的文档 HERE


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接