35

So I'm running Windows Server 2008 R2 Standard and am trying to delete a service with 'sc delete <myservicesname>' and the command seems to execute without complaint, however, when I check the services list after running the command, the service is still there.

Any ideas?

Drew
  • 2,583
  • 5
  • 36
  • 54

4 Answers4

129

sc in PowerShell is Set-Content; so if you are running in PowerShell, you likely have a file called 'delete' with your service's name as its content

If this is indeed your issue, use

sc.exe delete servicename
Phil
  • 6,561
  • 4
  • 44
  • 69
Brian Witt
  • 1,331
  • 1
  • 10
  • 6
16

Service can be marked for deletion, but may not be deleted immediately, since something holds it. See this answer for possible holders: https://stackoverflow.com/a/20565337/1943849

In my case, I just closed the Computer Management window

astef
  • 8,575
  • 4
  • 56
  • 95
1

Make sure to stop the service first then run the sc delete command. It will take care of closing any running process.

TNV
  • 973
  • 2
  • 11
  • 26
0

You can do something like this in PowerShell, although Remove-Service cmdlet is only available in PowerShell versions 6.0 and up

$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
}

You can find the docs for Remove-Service cmdlet HERE

Daikyu
  • 153
  • 9