Disable a Windows service from the command line

61

21

I want to disable a Windows service but I don't want to:

  1. Open the "Services" management console
  2. Scroll to the name of the service
  3. Right-click Properties (or double-click)
  4. Change the Startup Type: to disabled
  5. Apply
  6. Click "Stop"

I don't want to remove a Windows service but instead, just disable it.

Kevin Driedger

Posted 2012-08-10T14:58:38.147

Reputation: 2 255

1services.msc, type the name of the service, hit right click menu key, hit key to select stop, hit enter. – Tamara Wijsman – 2012-08-10T15:04:45.007

6Not a duplicate as OP intends to stop and disable automatic start – Alfabravo – 2012-08-10T15:06:15.473

2@TomWijsman usually one means no mouse when specifying "command line" therefore navigating the GUI from the keyboard doesn't answer my question – Kevin Driedger – 2012-08-15T19:12:02.733

1@KevinDriedger: I have suggesting a way to shorten the steps, takes less keys than the answers. – Tamara Wijsman – 2012-08-15T19:29:53.903

Answers

99

sc config "Name of Service" start= disabled
sc stop "Name of Service"

The space after the "start=" is important

You can see service name by double clicking a service on Services screen:

Service Name

Kevin Driedger

Posted 2012-08-10T14:58:38.147

Reputation: 2 255

13

In addition to Kevin's answer, if you need to control more than one service, or select them based on some criteria, you can use wmic. Simple use to stop only 1 service (Sqlwriter in my example) would be:
wmic service where name='SQLWriter' call ChangeStartmode Disabled

but the tool is much more powerful, for example to set disabled mode for all services with caption starting with SQL and not already disabled you could say:

wmic service where "caption like 'SQL%' and  Startmode<>'Disabled'" call ChangeStartmode Disabled

wmz

Posted 2012-08-10T14:58:38.147

Reputation: 6 132

12

SC STOP "<nameservice>"

SC CONFIG "<nameservice>" START= ( BOOT, or SYSTEM, or AUTO, or DEMAND, or DISABLED, or DELAYED-AUTO )

Link: Sc config

Marc

Posted 2012-08-10T14:58:38.147

Reputation: 131

4How does this differ from the highest voted answer from five years ago? – Greenonline – 2017-06-09T16:59:16.633

4@Greenonline: actually it differs, Marc has provided full argument list plus the link to help page. Don't down vote useful stuff. – SoLaR – 2017-08-15T07:28:15.130

-2

Quoting from KB248660:

The Reg.exe utility from the Microsoft Windows NT Resource Kit must be installed on your computer.

To change the startup value for a service on a local computer by using the command line, type the following at the command prompt and then press ENTER: REG UPDATE HKLM\SYSTEM\CurrentControlSet\Services\servicename\Start=X where servicename is the name of the service as it appears in the registry and X is either a 2, a 3, or a 4 (representing automatic startup, manual startup, or disabled, respectively).

To change the startup value for a service on a remote computer by using the command line locally, type the following at the command prompt and press ENTER: REG UPDATE HKLM\SYSTEM\CurrentControlSet\Services\servicename\Start=X \servername where servicename is the name of the service as it appears in the registry, X is either a 2, a 3, or a 4 (representing automatic startup, manual startup, or disabled, respectively), and servername is the name of the remote server.

To see how the service name appears in the registry, view the following registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

darnir

Posted 2012-08-10T14:58:38.147

Reputation: 657

2Bad idea. You can disable service using REG utility but service manager isn't updated. Service can still be run by service manager until service manager refreshes the internal list - tested this moment and service still starts with disabled flag == Started (Disabled). – SoLaR – 2017-08-15T07:30:29.290