Halloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan NowHalloween DealsAmazon USOctober picks are moving - compare before checkoutAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
Redmond desk15 min

How to Stop a Windows Service from the Command Line

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Stopping a Windows service from the command line is often faster than opening the Services console, especially when you are working on servers, remote systems, scripts, or troubleshooting tasks. Windows provides several reliable ways to do it, including classic Command Prompt tools such as net stop and sc stop, as well as PowerShell commands like Stop-Service.

Before stopping anything, it is to identify the correct service name, understand whether other services depend on it, and run the command with the right permissions. A display name shown in the Services app is not always the same as the internal service name used by command-line tools, so checking first can prevent failed commands or accidental disruption.

As an Amazon Associate I earn from qualifying purchases.

This guide covers the main command-line methods for stopping Windows services, how to handle names with spaces, how to work with remote computers, and how to confirm the service actually stopped. It also explains common problems such as access denied errors, dependency warnings, and services that remain stuck in a stopping state.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check the Service Name Before Stopping It

Before you stop a Windows service from the command line, confirm the service’s actual service name, not just its display name. Windows services usually have two names: the friendly name shown in Services.msc, such as Windows Update, and the internal service name used by commands, such as wuauserv. Command-line tools often require the internal name, and using the wrong value can stop a different service or cause the command to fail.

#1 Best Overall

In Command Prompt, you can list services and their internal names with sc query. To narrow the results, combine it with findstr. For example, if you know part of the display name, search for it first and then inspect the matching service entry. The output typically includes fields such as SERVICE_NAME, DISPLAY_NAME, STATE, and TYPE. The value next to SERVICE_NAME is the one you pass to commands such as sc stop.

PowerShell provides a more structured way to check names. Get-Service shows both the internal Name and the user-friendly DisplayName. For example, searching by display name helps when you only know what appears in the Services app. Once you find the service, use the Name property with PowerShell commands such as Stop-Service. This avoids ambiguity when several services have similar display names.

What you see Example Where it is used
Display name Windows Update Services app, user-facing lists, PowerShell DisplayName searches
Service name wuauserv sc.exe commands, PowerShell Name parameter, scripts

Also check whether the service has dependent services before stopping it. A dependent service relies on another service to run, so stopping the parent can interrupt additional components. In Command Prompt, sc enumdepend <ServiceName> shows services that depend on the specified service. In PowerShell, you can inspect dependencies with Get-Service -Name <ServiceName> -DependentServices. If the service is business-critical, part of security software, a database engine, or a remote access component, confirm the impact before stopping it, especially on a production server.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Be careful with service names that contain spaces when using display-name based commands. Internal service names often avoid spaces, but not always. If a command accepts a display name or another value containing spaces, wrap it in quotation marks. For repeatable administration, scripts should use exact service names and, where possible, validate that the service exists before trying to stop it. A quick check of the name, status, and dependencies reduces the chance of stopping the wrong component and makes the later stop command easier to troubleshoot.

Stop a Service Using Command Prompt

After you have confirmed the correct service name, you can stop a Windows service from Command Prompt with either net stop or sc stop. Open Command Prompt with elevated permissions first: select Start, type cmd, right-click Command Prompt, and choose Run as administrator. Without an elevated console, many service control operations fail with an access denied message, especially for system services or services installed by security, backup, database, or monitoring software.

The simplest command is net stop. It works well for common administrative tasks and accepts the service display name when it is enclosed in quotation marks:

net stop "Windows Update"

You can also use the internal service name instead of the display name:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

net stop wuauserv

If the service accepts the stop request, Command Prompt shows status text such as The Windows Update service is stopping followed by The Windows Update service was stopped successfully. If other services depend on the one you are stopping, net stop may list those dependent services and ask whether you want to continue. Read that list carefully before confirming, because stopping one core service can interrupt several related services at once.

Use sc stop for precise service control

The sc stop command is often preferred in scripts because it uses the service name directly and returns service state details. The syntax is:

sc stop wuauserv

Unlike net stop, sc stop expects the service name, not the friendly display name. If the service name contains spaces, wrap it in quotation marks, although most built-in Windows service names do not contain spaces. A successful request usually returns output that includes fields such as STATE, STOP_PENDING, or STOPPED. Seeing STOP_PENDING means Windows accepted the request but the service has not fully shut down yet.

Common Command Prompt examples

  • Stop by display name: net stop "Print Spooler"
  • Stop by service name: net stop spooler
  • Stop with Service Control: sc stop spooler
  • Query status after stopping: sc query spooler

For services with dependencies, start with sc queryex or sc qc if you need more context before stopping anything. For example, sc qc spooler shows configuration details, while sc query spooler shows the current state. If a service remains in STOP_PENDING for an unusually long time, wait briefly and query it again before taking further action. Some services need time to close files, finish transactions, disconnect clients, or release network resources.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

If Command Prompt reports that the service name is invalid, recheck whether you are using the service name rather than only the display name. If it reports access denied, reopen Command Prompt as an administrator or use an account with rights to manage that service. If it reports that the service cannot be stopped, the service may be protected, disabled from manual control by policy, tied to dependent components, or managed by another application that immediately restarts it.

Stop a Service Using PowerShell

PowerShell provides a more flexible way to stop Windows services than the older Command Prompt tools, especially when you want to query a service first, pipe results between commands, or return an object that confirms the final state. Open PowerShell as an administrator before stopping system-level services: right-click Windows PowerShell or Terminal, then choose Run as administrator. Without elevated permissions, many services will return an access error even if the command syntax is correct.

The basic command uses Stop-Service with the service’s internal name, not necessarily the friendly display name shown in the Services app:

Stop-Service -Name "Spooler"

This example stops the Print Spooler service. If the service name contains special characters or spaces, keep it in quotation marks. Many Windows service names do not contain spaces, but quoting the value is a safe habit when writing reusable commands or scripts. You can also stop a service by display name with -DisplayName, but this is usually less reliable for automation because display names are easier to change and may vary between systems or language editions:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Stop-Service -DisplayName "Print Spooler"

Stop and return the updated service object

By default, Stop-Service does not print much output when it succeeds. If you want PowerShell to return the service object after sending the stop request, add -PassThru:

Stop-Service -Name "Spooler" -PassThru

The returned object includes fields such as Status, Name, and DisplayName. For a clearer check after the stop operation, run:

Get-Service -Name "Spooler"

If the service stopped successfully, the Status column should show Stopped. Some services take a few seconds to shut down because they are finishing active work, closing network connections, or waiting for child processes. In those cases, run Get-Service again after a short pause.

Handle services with dependencies

Some services cannot be stopped while other services depend on them. To inspect dependent services before stopping anything, use:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Dell Latitude 5420 14" FHD Business Laptop Computer, Intel Quad-Core i5-1145G7, 16GB DDR4 RAM, 256GB SSD, Camera, HDMI, Windows 11 Pro (Renewed)
  • 256 GB SSD of storage.
  • Multitasking is easy with 16GB of RAM
  • Equipped with a blazing fast Core i5 2.00 GHz processor.

Get-Service -Name "ServiceName" -DependentServices

If dependent services are listed, decide whether it is safe to stop them too. Stopping a core service can interrupt applications, remote access, printing, monitoring agents, or database workloads. When you are certain the dependent services can also be stopped, -Force can be used:

Stop-Service -Name "ServiceName" -Force

Use -Force carefully, especially on production servers. It does not make every service stoppable; it only tells PowerShell to proceed in cases where dependent services would otherwise block the request. Services protected by Windows, controlled by security software, or stuck in a pending state may still refuse to stop.

Use pipeline-friendly filtering

PowerShell is especially useful when you need to find a service first and then stop it. For example, this finds services whose display name starts with a specific phrase and stops them:

Get-Service | Where-Object {$_.DisplayName -like "Example App*"} | Stop-Service

For scripts, prefer filtering as narrowly as possible so you do not stop unintended services. When testing a command that could match mulle services, run only the Get-Service and Where-Object portion first to review the results. After confirming the list is correct, pipe it to Stop-Service.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Stop a Service on a Remote Computer

You can stop a Windows service on another machine from the command line, but the method you choose depends on what is enabled in the environment. PowerShell remoting is usually the most flexible option for domain-joined computers, while legacy tools such as sc.exe can work well when the Service Control Manager is reachable over the network. In all cases, use the service’s internal service name, not necessarily the display name shown in the Services console.

Use PowerShell Remoting

If PowerShell remoting is enabled on the target computer, use Invoke-Command to run Stop-Service remotely. This runs the stop operation on the remote system rather than relying on local service objects.

Example: Invoke-Command -ComputerName SERVER01 -ScriptBlock { Stop-Service -Name "Spooler" }

To force the service to stop when dependent services are running, include -Force inside the script block: Invoke-Command -ComputerName SERVER01 -ScriptBlock { Stop-Service -Name "Spooler" -Force }. Use this carefully because it may also stop services that depend on the target service. If you need alternate credentials, create or request them at the prompt: Invoke-Command -ComputerName SERVER01 -Credential DOMAIN\AdminUser -ScriptBlock { Stop-Service -Name "Spooler" }.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use sc.exe Against a Remote Computer

The sc.exe command can send a stop request to a service on a remote computer by prefixing the computer name with double backslashes. This is useful in older environments or when you are already working in Command Prompt.

Example: sc.exe \\SERVER01 stop Spooler

For service names that contain spaces, quote the service name: sc.exe \\SERVER01 stop "Example Service". After issuing the command, sc.exe normally reports a pending or stopped state returned by the Service Control Manager. A successful stop request does not always mean the service is fully stopped immediately; some services take several seconds or longer to shut down cleanly.

Use Get-Service with a Remote Computer Name

On Windows PowerShell, Get-Service supports the -ComputerName parameter for querying services remotely. You can combine it with pipeline commands in some cases, but stopping services through direct remote execution is usually clearer and more reliable. For example, use Get-Service -ComputerName SERVER01 -Name Spooler to inspect the service, then stop it with Invoke-Command or sc.exe.

  • PowerShell remoting: Best when WinRM is enabled and you need credential handling, scripting, or multiple commands.
  • sc.exe: Best for quick service control from Command Prompt or scripts that already use Windows service control syntax.
  • Remote verification: Always query the remote computer after sending the stop request to confirm the final state.

Remote service control commonly fails when the account lacks administrative rights on the target computer, Windows Firewall blocks the required management traffic, WinRM is disabled, or the Remote Service Management firewall rules are not allowed. In a domain environment, run the shell as an account that is a local administrator on the remote computer. For PowerShell remoting, the target must allow remoting with Enable-PSRemoting or equivalent Group Policy configuration. For sc.exe, the remote Service Control Manager must be reachable, and name resolution must correctly resolve the target computer name.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

After stopping the service remotely, verify the result from the same management workstation. With PowerShell remoting, run Invoke-Command -ComputerName SERVER01 -ScriptBlock { Get-Service -Name "Spooler" }. With sc.exe, run sc.exe \\SERVER01 query Spooler and check that the state is STOPPED. If the state remains STOP_PENDING, wait briefly and query again before taking stronger action.

Verify That the Service Has Stopped

After sending a stop command, confirm the service actually reached the stopped state. A command can return before the service has fully shut down, especially if the service needs to close network connections, flush data, or stop child processes. Verification also helps you catch cases where the stop request failed silently, timed out, or was blocked by dependencies.

In Command Prompt, use sc query with the service name, not necessarily the display name. The output shows the current service state:

sc query "Spooler"

Look for the STATE line. If the service has stopped successfully, it should show STOPPED:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

STATE : 1 STOPPED

If you prefer the older Service Controller command, net start can list currently running services. If the target service no longer appears in the list, it is not running:

net start

Check the Status with PowerShell

PowerShell provides a cleaner way to check service status. Use Get-Service with the service name:

Get-Service -Name "Spooler"

The Status column should show Stopped. For a more focused result, select only the fields you need:

Rank #3
15.6 Inch Win 11 Laptop Computer, N4020, 4GB DDR4 RAM, 128GB Storage | LPDDR4 RAM, 180° Lay-Flat, Dual-Band WiFi, Type-C PD Fast Charging, Thin & Lightweight for Students, Home & Office, Gray
  • WINDOWS 11 | STABLE PERFORMANCE: Powered by Intel Celeron N4020 processor and Windows 11 system, this laptop delivers stable performance for everyday computing tasks. It supports web browsing, online learning, document editing, email communication, and basic office work with optimized power efficiency, providing a practical and reliable experience for essential daily use for daily use.
  • 15.6” FHD IPS DISPLAY: Features a 15.6-inch Full HD IPS display with narrow bezels, offering wider viewing angles and clearer image details compared to standard panels. The improved screen-to-body ratio enhances visual experience for study, reading, document work, and video playback, making it suitable for both productivity and entertainment use.
  • 4GB DDR4 + 128GB eMMC STORAGE: Equipped with 4GB DDR4 memory and 128GB eMMC storage for everyday basics such as browsing, documents, email, and online learning platforms. The built-in TF card slot supports storage expansion up to 1TB, giving you more flexibility for files, photos, videos, and daily documents. TF card not included.
  • CONNECTIVITY & PORTS: Includes 1× TF card slot, 2× USB 3.2 Gen1 ports, and 2× full-featured Type-C ports (USB 3.2 Gen1). The Type-C ports support data transfer, charging, and video output, enabling flexible connection with external devices such as monitors, storage, and peripherals for daily work and study use.
  • LIGHTWEIGHT DESIGN | ONLINE COMMUNICATION: Designed with a slim, portable profile, this laptop is easy to carry for school, commuting, and travel. A built-in 1MP front camera supports online classes, video meetings, remote communication, and everyday conferencing. The 3300mAh battery works with the low-power system design to support practical daily use, while thermal optimization helps maintain quieter operation during extended tasks.

Get-Service -Name "Spooler" | Select-Object Name, DisplayName, Status

If you stopped the service by display name earlier, you can verify it the same way, but be careful with duplicate or similar display names:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Get-Service -DisplayName "Print Spooler"

Wait Until the Service Is Fully Stopped

Some services take a few seconds to transition from StopPending to Stopped. In PowerShell, you can wait for the status to change instead of repeatedly checking manually:

$service = Get-Service -Name "Spooler"
$service.WaitForStatus('Stopped','00:00:30')
Get-Service -Name "Spooler"

This waits up to 30 seconds for the service to stop, then checks the final status. If it still shows StopPending, the service may be slow, busy, or stuck.

Verify on a Remote Computer

If you stopped a service on another machine, verify the status on that same machine. With PowerShell remoting, run:

Invoke-Command -ComputerName "SERVER01" -ScriptBlock {
Get-Service -Name "Spooler" | Select-Object Name, Status
}

You can also use sc.exe against a remote computer:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

sc \\SERVER01 query "Spooler"

For remote checks, make sure you are querying the correct host and have administrative rights. A local status check only tells you what happened on your own computer, not on the remote system where the service was stopped.

Tool Verification Command Stopped Result
Command Prompt sc query "ServiceName" STATE : 1 STOPPED
PowerShell Get-Service -Name "ServiceName" Status: Stopped
Remote sc.exe sc \\ComputerName query "ServiceName" STATE : 1 STOPPED

If the service still shows Running, the stop command did not complete successfully. If it shows StopPending, wait briefly and check again. If it remains stuck, review dependent services, permissions, and related processes before attempting a forced termination or restarting the computer.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshoot Access Denied, Dependencies, and Stuck Services

If a service does not stop from the command line, the problem usually falls into one of three categories: insufficient permissions, another service depending on it, or the service being stuck in a transitional state such as Stop Pending. Start by reopening Command Prompt or PowerShell with elevated rights. In Windows Terminal, Command Prompt, or PowerShell, choose Run as administrator, then retry the stop command. Many system and security-related services cannot be controlled from a standard user session, even if the account is a local administrator.

Fix access denied errors

An Access is denied message means your current token does not have the required service control permission. Confirm that the shell is elevated, then check whether Group Policy, endpoint protection software, or service permissions are blocking the action. You can inspect the service configuration with sc qc ServiceName, but changing service security descriptors should be done carefully because incorrect permissions can prevent Windows or applications from functioning correctly. If you are stopping a service on a remote computer, make sure your account has administrative rights on that machine and that remote management traffic is allowed by the firewall.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Handle dependent services

Some services cannot stop while other services depend on them. With Command Prompt, use sc enumdepend ServiceName to list services that rely on the target service. In PowerShell, you can check dependencies with Get-Service -Name ServiceName -DependentServices. Stop the dependent services first, then stop the original service. For example, if ServiceA depends on ServiceB, stop ServiceA before stopping ServiceB. Be careful with core Windows services because stopping dependencies can interrupt networking, authentication, printing, update installation, or remote access.

  • Command Prompt: sc enumdepend ServiceName shows services that must be stopped first.
  • PowerShell: Get-Service -Name ServiceName -DependentServices lists dependent services.
  • Force through PowerShell: Stop-Service -Name ServiceName -Force can stop dependent services, but use it only when you understand the impact.

Deal with services stuck in Stop Pending

If a service remains in Stop Pending, wait briefly and check again with sc query ServiceName or Get-Service -Name ServiceName. Some services need time to close files, complete network operations, or release database connections. If the state does not change after several minutes, identify the process behind the service. Run sc queryex ServiceName and look for the PID. You can then inspect that process in Task Manager or with tasklist /fi "PID eq 1234", replacing 1234 with the actual process ID.

As a last resort, you can terminate the process with taskkill /pid 1234 /f. This is more abrupt than stopping the service normally and may cause unsaved work, incomplete transactions, or corrupted temporary state, so reserve it for hung services where a graceful stop has failed. If the service still returns immediately or becomes stuck again, review Event Viewer under Windows Logs and Applications and Services Logs for errors from the service, Service Control Manager, or the related application. After resolving the issue, verify the final state with sc query or Get-Service, and restart the server during a maintenance window if the service cannot be cleanly recovered.

Frequently Asked Questions

How do I find the exact Windows service name to use in a command?

Use services.msc, double-click the service, and copy the value shown as Service name, not the display name. From Command Prompt, you can also run sc query or sc getkeyname "Display Name" to look it up.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What is the difference between stopping a service with net stop and sc stop?

net stop is simpler and works well when you know the service name or accepted display name. sc stop talks directly to the Service Control Manager and is often better for scripting because it uses the real service name and returns detailed status output.

How do I stop a Windows service in PowerShell?

Run PowerShell as Administrator and use Stop-Service -Name "ServiceName". If you only know the display name, use Get-Service -DisplayName "Display Name" first, then pipe it to Stop-Service or copy the service’s Name value.

How can I tell if the service actually stopped?

In Command Prompt, run sc query ServiceName and check that the state shows STOPPED. In PowerShell, run Get-Service -Name "ServiceName" and confirm the Status column shows Stopped.

What should I do if Windows says Access is denied or the service will not stop?

Open Command Prompt or PowerShell with Administrator rights, then try the command again. If the service has dependent services, stop those first or use PowerShell with dependency handling. If the service is stuck in STOP_PENDING, check its process ID with sc queryex ServiceName and only terminate the process if you understand the impact on the system or application.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Bottom Line

Stopping a Windows service from the command line is straightforward once you know the right tool: use net stop or sc stop in Command Prompt, or Stop-Service in PowerShell. Always run your shell as an administrator, use the exact service name when needed, and check dependencies before stopping anything critical.

After issuing the stop command, verify the result with sc query, Get-Service, or the Services console. If the service will not stop, review permissions, dependent services, and running processes before forcing changes on a production or shared system.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.