Skip to content
PowerShell Commands

Stop-Service

Stop-Service [-Confirm] -DisplayName* <String[]> [-Exclude <String[]>] [-Force] [-Include <String[]>] [-NoWait][-PassThru] [-WhatIf] [<CommonParameters>]
Stop-Service [-InputObject*] <ServiceController[]> [-Confirm] [-Exclude <String[]>] [-Force] [-Include <String[]>][-NoWait] [-PassThru] [-WhatIf] [<CommonParameters>]
Stop-Service [-Name*] <String[]> [-Confirm] [-Exclude <String[]>] [-Force] [-Include <String[]>] [-NoWait][-PassThru] [-WhatIf] [<CommonParameters>]

The Stop-Service cmdlet sends a stop message to the Windows Service Controller for each of the specified services. You can specify the services by their service names or display names, or you can use the InputObject parameter to pass a service object that represents the service that you want to stop.

Parameters

-Confirm [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Prompts you for confirmation before running the cmdlet.

-DisplayName <String[]>

  • This value is required
  • Default value is None
  • Accepts pipeline input False

Specifies the display names of the services to stop. Wildcard characters are permitted.

-Exclude <String[]>

  • Default value is None
  • Accepts pipeline input False

Specifies services that this cmdlet omits. The value of this parameter qualifies the Name parameter. Enter a name element or pattern, such as s*. Wildcard characters are permitted.

-Force [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Forces the cmdlet to stop a service even if that service has dependent services.

-Include <String[]>

  • Default value is None
  • Accepts pipeline input False

Specifies services that this cmdlet stops. The value of this parameter qualifies the Name parameter. Enter a name element or pattern, such as s*. Wildcard characters are permitted.

-InputObject <ServiceController[]>

  • This value is required
  • Default value is None
  • Accepts pipeline input ByValue

Specifies ServiceController objects that represent the services to stop. Enter a variable that contains the objects, or type a command or expression that gets the objects.

-Name <String[]>

  • This value is required
  • Default value is None
  • Accepts pipeline input ByPropertyName

Specifies the service names of the services to stop. Wildcard characters are permitted.

-NoWait [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Indicates that this cmdlet uses the no wait option.

-PassThru [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Returns an object that represents the service. By default, this cmdlet does not generate any output.

-WhatIf [<SwitchParameter>]

  • Default value is False
  • Accepts pipeline input False

Shows what would happen if the cmdlet runs. The cmdlet is not run.

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

Inputs
System.ServiceProcess.ServiceController, System.String
You can pipe a service object or a string that contains the name of a service to this cmdlet.
Outputs
None, System.ServiceProcess.ServiceController
This cmdlet generates a System.ServiceProcess.ServiceController object that represents the service, if you use the PassThru parameter. Otherwise, this cmdlet does not generate any output.
Examples
  1. Stop a service on the local computer:
    PS C:\> Stop-Service -Name "sysmonlog"
    

    This command stops the Performance Logs and Alerts (SysmonLog) service on the local computer.

  2. Stop a service by using the display name:
    PS C:\> Get-Service -DisplayName "telnet" | Stop-Service
    

    This command stops the Telnet service on the local computer. The command uses Get-Service to get an object that represents the Telnet service. The pipeline operator (|) pipes the object to Stop-Service , which stops the service.

  3. Stop a service that has dependent services:
    PS C:\> Get-Service -Name "iisadmin" | Format-List -Property Name, DependentServices
    PS C:\>  Stop-Service -Name "iisadmin" -Force -Confirm
    

    This example stops the IISAdmin service on the local computer. Because stopping this service also stops the services that depend on the IISAdmin service, it is best to precede Stop-Service with a command that lists the services that depend on the IISAdmin service.

    The first command lists the services that depend on IISAdmin. It uses Get-Service to get an object that represents the IISAdmin service. The pipeline operator (|) passes the result to the Format-List cmdlet. The command uses the Property parameter of Format-List to list only the Name and DependentServices properties of the service.

    The second command stops the IISAdmin service. The Force parameter is required to stop a service that has dependent services. The command uses the Confirm parameter to request confirmation from the user before it stops each service.

Additional Notes
 You can also refer to Stop-Service by its built-in alias, spsv *. For more information, see about_Aliases. 
 Stop-Service can control services only when the current user has permission to do this. If a command does not 
 work correctly, you might not have the required permissions.

 To find the service names and display names of the services on your system, type `Get-Service`. The service 
 names appear in the Name column and the display names appear in the DisplayName column.

 *

This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.

PowerShell Commands