Suspend-Service

Suspends (pauses) one or more running services.
Suspend-Service [-InputObject*] <ServiceController[]> [-Exclude [<String[]>]] [-Include [<String[]>]] [-PassThru][-Confirm] [-WhatIf] [<CommonParameters>]
Suspend-Service [-Exclude [<String[]>]] [-Include [<String[]>]] [-PassThru] -DisplayName* <String[]> [-Confirm][-WhatIf] [<CommonParameters>]
Suspend-Service [-Name*] <String[]> [-Exclude [<String[]>]] [-Include [<String[]>]] [-PassThru] [-Confirm][-WhatIf] [<CommonParameters>]

The Suspend-Service cmdlet sends a suspend message to the Windows Service Controller for each of the specified services. While suspended, the service is still running, but its action is stopped until resumed, such as by usingthe Resume-Service cmdlet. 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 services that you want to suspend.

Parameters
-DisplayName <String[]>

  • This value is required

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

-Exclude [<String[]>]

Specifies services to omit from the specified services. The value of this parameter qualifies the Name parameter. Enter a name element or pattern, such as “s*”. Wildcard characters are permitted.

-Include [<String[]>]

Specifies services to suspend. 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
  • Accepts pipeline input ByValue

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

-Name <String[]>

  • This value is required
  • Accepts pipeline input ByValue

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

The parameter name is optional. You can use Name or its alias, ServiceName, or you can omit the parameter name.

-PassThru [<SwitchParameter>]

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

-Confirm [<SwitchParameter>]

  • Default value is false

Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.

-WhatIf [<SwitchParameter>]

  • Default value is false

Shows what would happen if the cmdlet runs. The cmdlet is not run.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 a service name to this cmdlet.

Outputs

None, System.ServiceProcess.ServiceController

This cmdlet generates a System.ServiceProcess.ServiceController object that represents the service, if you specify the PassThru parameter. Otherwise, this cmdlet does not generate any output.

Examples
  1. Suspend a service:
    PS C:> Suspend-Service -DisplayName "Telnet"
    

    This command suspends the Telnet service (Tlntsvr) service on the local computer.

  2. Display what would happen if you suspend services:
    PS C:> Suspend-Service -Name lanman* -WhatIf
    

    This command tells what would happen if you suspended the services that have a service name that starts with lanman. To suspend the services, rerun the command without the WhatIf parameter.

  3. Get and suspend a service:
    PS C:> Get-Service schedule | Suspend-Service
    

    This command uses the Get-Service cmdlet to get an object that represents the Task Scheduler (Schedule) service on the computer. The pipeline operator (|) passes the result to Suspend-Service, which suspends the service.

  4. Suspend all services that can be suspended:
    PS C:> Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"} | Suspend-Service -Confirm
    

    This command suspends all of the services on the computer that can be suspended. It uses Get-Service to get objects that represent the services on the computer. The pipeline operator passes the results to the Where-Object cmdlet, which selects only the services that have a value of $True for the CanPauseAndContinue property. Another pipeline operator passes the results to Suspend-Service. The Confirm parameter prompts you for confirmation before suspending each of the services.

Additional Notes
 Suspend-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.
 Suspend-Service can suspend only services that support being suspended and resumed. To determine whether a 
 particular service can be suspended, use the Get-Service cmdlet together with the CanPauseAndContinue 
 property. For example, Get-Service wmi | Format-List Name, CanPauseAndContinue. To find all services on the 
 computer that can be suspended, type Get-Service | Where-Object {$_.CanPauseAndContinue -eq "True"}.
 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.
Related Links

Get-Service
New-Service
Restart-Service
Resume-Service
Set-Service
Start-Service
Stop-Service