| external help file | Microsoft.PowerShell.Commands.Management.dll-Help.xml | |
|---|---|---|
| Locale | en-US | |
| Module Name | Microsoft.PowerShell.Management | |
| ms.date | 10/15/2024 | |
| online version | https://learn.microsoft.com/powershell/module/microsoft.powershell.management/start-service?view=powershell-5.1&WT.mc_id=ps-gethelp | |
| schema | 2.0.0 | |
| aliases |
|
|
| title | Start-Service |
Starts one or more stopped services.
Start-Service [-InputObject] <ServiceController[]> [-PassThru] [-Include <String[]>] [-Exclude <String[]>]
[-WhatIf] [-Confirm] [<CommonParameters>]
Start-Service [-Name] <String[]> [-PassThru] [-Include <String[]>] [-Exclude <String[]>] [-WhatIf] [-Confirm]
[<CommonParameters>]
Start-Service [-PassThru] -DisplayName <String[]> [-Include <String[]>] [-Exclude <String[]>] [-WhatIf]
[-Confirm] [<CommonParameters>]
The Start-Service cmdlet sends a start message to the Windows Service Controller for each of the
specified services. If a service is already running, the message is ignored without error. You can
specify the services by their service names or display names, or you can use the InputObject
parameter to supply a service object that represents the services that you want to start.
This example starts the EventLog service on the local computer. The Name parameter identifies the service by its service name.
Start-Service -Name "eventlog"This example shows what would occur if you started the services that have a display name that includes "remote".
Start-Service -DisplayName *remote* -WhatIfThe DisplayName parameter identifies the services by their display name instead of their service name. The WhatIf parameter causes the cmdlet to display what would happen when you run the command but does not make changes.
This example starts the Windows Management Instrumentation (WMI) service on the computer and adds a record of the action to the services.txt file.
$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txtFirst we use Get-Service to get an object that represent the WMI service and store it in the $s
variable. Next, we start the service. Without the PassThru parameter, Start-Service does not
create any output. The pipeline operator (|) passes the object output by Start-Service to the
Format-List cmdlet to format the object as a list of its properties. The append redirection
operator (>>) redirects the output to the services.txt file. The output is added to the end of the
existing file.
This example shows how to start a service when the start type of the service is Disabled.
PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service <<<< tlntsvr
PS> Get-CimInstance Win32_Service | Where-Object Name -EQ "tlntsvr"
ExitCode : 0
Name : TlntSvr
ProcessId : 0
StartMode : Disabled
State : Stopped
Status : OK
PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr
The first attempt to start the Telnet service (tlntsvr) fails. The Get-CimInstance command shows
that the StartMode property of the Tlntsvr service is Disabled. The Set-Service cmdlet
changes the start type to Manual. Now, we can resubmit the Start-Service command. This time,
the command succeeds. To verify that the command succeeded, run Get-Service.
Specifies the display names of the services to start. Wildcard characters are permitted.
Type: System.String[]
Parameter Sets: DisplayName
Aliases:
Required: True
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: TrueSpecifies 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.
Type: System.String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: TrueSpecifies services that this cmdlet starts. The value of this parameter qualifies the Name
parameter. Enter a name element or pattern, such as s*. Wildcard characters are permitted.
Type: System.String[]
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: TrueSpecifies ServiceController objects representing the services to be started. Enter a variable that contains the objects, or type a command or expression that gets the objects.
Type: System.ServiceProcess.ServiceController[]
Parameter Sets: InputObject
Aliases:
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByValue)
Accept wildcard characters: FalseSpecifies the service names for the service to be started.
The parameter name is optional. You can use Name or its alias, ServiceName, or you can omit the parameter name.
Type: System.String[]
Parameter Sets: Default
Aliases: ServiceName
Required: True
Position: 0
Default value: None
Accept pipeline input: True (ByPropertyName, ByValue)
Accept wildcard characters: FalseReturns an object that represents the service. By default, this cmdlet does not generate any output.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases:
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: FalsePrompts you for confirmation before running the cmdlet.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: cf
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: FalseShows what would happen if the cmdlet runs. The cmdlet is not run.
Type: System.Management.Automation.SwitchParameter
Parameter Sets: (All)
Aliases: wi
Required: False
Position: Named
Default value: False
Accept pipeline input: False
Accept wildcard characters: FalseThis cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
You can pipe a service object to this cmdlet.
You can pipe a string that contains the service name to this cmdlet.
By default, this cmdlet returns no output.
When you use the PassThru parameter, this cmdlet returns a ServiceController object representing the service.
Windows PowerShell includes the following aliases for Start-Service:
-
sasv -
By default, only members of the Administrators group can start, stop, pause, resume, or restart a service. If you are a member of the Administrators group, you need to run
Start-Servicefrom an elevated PowerShell session. Use the Run as Administrator option to start PowerShell. -
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. -
You can start only the services that have a start type of Manual, Automatic, or Automatic (Delayed Start). You cannot start the services that have a start type of Disabled. If a
Start-Servicecommand fails with the messageCannot start service \<service-name\> on computer, useGet-CimInstanceto find the start type of the service and, if you have to, use theSet-Servicecmdlet to change the start type of the service. -
Some services, such as Performance Logs and Alerts (SysmonLog) stop automatically if they have no work to do. When PowerShell starts a service that stops itself almost immediately, it displays the following message:
Service \<display-name\> start failed.