Updated: 4 November 2026 · Applies to: Windows 11, Windows 10 and Windows Server (Services console, net, sc.exe, Windows PowerShell 5.1 and PowerShell 7; commands from Microsoft documentation)

To stop a Windows service, open Command Prompt as administrator and run net stop NAME; to start it again, run net start NAME. In PowerShell the same is Stop-Service -Name NAME and Start-Service -Name NAME. Without the command line, press Win+R, type services.msc, right-click the service and choose Stop, Start or Restart.

net stop Spooler
net start Spooler

A stopped service starts again at the next boot if its startup type is Automatic. To keep it off, also set the startup type to Disabled (section 5). All methods below work the same on Windows 10, Windows 11 and Windows Server, including a Windows VPS you manage over Remote Desktop.

1. Find the service name

Every service has a short service name (for example Spooler, the print spooler) and a longer display name shown in the Services console. sc.exe and PowerShell's -Name need the service name.

  • Services console: double-click the service; the General tab shows "Service name" at the top.
  • PowerShell: Get-Service lists every service with its Name and DisplayName columns.
  • Command Prompt: sc.exe query state= all lists all services with their SERVICE_NAME; net start without a name lists the services that are running.

2. Stop or start a service in the Services console

  1. Press Win+R, type services.msc and press Enter (or search for Services in the Start menu).
  2. Right-click the service and choose Stop, Start, Pause, Resume or Restart.
  3. Or double-click it and use the Stop or Start button under "Service status".

Task Manager also has a Services page where you can stop and start services, according to Microsoft, but it cannot change the startup type; use the Services console for that.

3. Stop or start a service from Command Prompt (net and sc)

Open Command Prompt with Run as administrator. Without it, Windows refuses with error 5, "Access is denied".

net stop Spooler
net start Spooler
net stop "Name With Spaces"

net accepts the service name or the display name; put names that contain spaces in quotes. It also has net pause and net continue for services that support pausing.

sc.exe gives more control and works against another server too:

sc.exe query Spooler
sc.exe stop Spooler
sc.exe start Spooler
sc.exe \\SERVER2 stop Spooler

sc.exe stop sends the stop request; run sc.exe query NAME again and check that STATE shows STOPPED. Inside PowerShell always type sc.exe, not sc: in Windows PowerShell 5.1, sc is an alias for Set-Content, so sc stop Spooler does not reach the service.

4. Stop, start or restart a service in PowerShell

Open PowerShell or Windows Terminal as administrator:

Get-Service -Name Spooler
Stop-Service -Name Spooler
Start-Service -Name Spooler
Restart-Service -Name Spooler

If other running services depend on the one you stop, Stop-Service needs -Force, and those dependent services stop as well. Check them first:

Get-Service -Name Spooler | Format-List -Property Name, DependentServices
Stop-Service -Name Spooler -Force

Stop-Service also accepts -DisplayName with wildcards, and -PassThru prints the new status.

5. Disable a service or change its startup type

Stopping a service only lasts until the next restart. The startup type decides what happens at boot:

  • Automatic: starts at boot, even if nobody signs in.
  • Automatic (Delayed Start): starts a short time after the other automatic services.
  • Manual: starts only when a user, an app or another service starts it.
  • Disabled: cannot be started until you change the type again.

In the Services console: double-click the service, choose the Startup type, click Apply, then Stop if it is still running. From the command line:

sc.exe config Spooler start= disabled
sc.exe config Spooler start= demand
sc.exe config Spooler start= auto
sc.exe config Spooler start= delayed-auto

Set-Service -Name Spooler -StartupType Disabled

The space after start= is required; without it the command fails. demand is Manual. Windows PowerShell 5.1's Set-Service offers Automatic, Manual and Disabled, so use sc.exe for a delayed start.

6. When a service will not stop

  • Error 5, Access is denied: the window is not elevated. Reopen it with Run as administrator.
  • Error 1051 ("A stop control has been sent to a service that other running services are dependent on"): stop the dependent services first, or use Stop-Service -Force.
  • Error 1061 ("The service cannot accept control messages at this time"): the service is busy starting or stopping. Wait a minute and try again.
  • Error 1058 when starting: the service is Disabled. Change its startup type first (section 5).
  • Core services such as Remote Procedure Call (RPC), Event Log and Plug and Play cannot be stopped, according to Microsoft, because Windows needs them.

If a service hangs in "Stopping", end its process. Get the PID, check which services share that process, then end it:

sc.exe queryex Spooler
tasklist /svc /fi "PID eq 1234"
taskkill /pid 1234 /f

Replace 1234 with the PID from sc.exe queryex. If tasklist /svc lists several services for that PID, ending the process stops all of them, so only do it when that is acceptable.

Windows VPS and Linux servers

On a Ucartz Windows VPS, connect with Remote Desktop and use any of the methods above. On a Linux server the equivalent is systemctl stop and systemctl start; see how to check the status of a service with systemctl and the Linux services and daemons guide.

Official documentation: Stop-Service, sc.exe config and taskkill.

Related services

KVM VPS hosting

NVMe SSD and full root access, with Free Basic Managed Support.

Unmanaged dedicated servers

full root access and free IPMI KVM, with Free Basic Managed Support.

Managed dedicated servers

our engineers look after the server for you, from $135 a month.

Was this answer helpful?

Still stuck? Open a ticket