Start-Service

Inicia um ou mais serviços interrompidos.

Syntax

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>]

Description

Esse cmdlet só está disponível na plataforma Windows.

O Start-Service cmdlet envia uma mensagem de início para o Windows Service Controller para cada um dos serviços especificados. Se um serviço estiver sendo executado, a mensagem será ignorada sem erro. Você pode especificar os serviços por seus nomes de serviço ou nomes de exibição, ou pode usar o parâmetro InputObject para fornecer um objeto de serviço que representa os serviços que você deseja iniciar.

Exemplos

Exemplo 1: Iniciar um serviço usando seu nome

Este exemplo inicia o serviço EventLog no computador local. O parâmetro Name identifica o serviço pelo nome do serviço.

Start-Service -Name "eventlog"

Exemplo 2: Exibir informações sem iniciar um serviço

Este exemplo mostra o que ocorreria se você iniciasse os serviços que têm um nome para exibição que inclui "remoto".

Start-Service -DisplayName *remote* -WhatIf

O parâmetro DisplayName identifica os serviços por seu nome de exibição em vez de seu nome de serviço. O parâmetro WhatIf faz com que o cmdlet exiba o que aconteceria quando você executasse o comando, mas não faz alterações.

Exemplo 3: Iniciar um serviço e registrar a ação em um arquivo de texto

Este exemplo inicia o serviço WMI (Instrumentação de Gerenciamento do Windows) no computador e adiciona um registro da ação ao arquivo services.txt.

$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt

Primeiro usamos Get-Service para obter um objeto que representa o serviço WMI e armazená-lo na $s variável. Em seguida, iniciamos o serviço. Sem o parâmetro PassThru , Start-Service não cria nenhuma saída. O operador de pipeline (|) passa a saída do objeto para Start-Service o Format-List cmdlet para formatar o objeto como uma lista de suas propriedades. O operador de redirecionamento append (>>) redireciona a saída para o arquivo services.txt. A saída é adicionada ao final do arquivo existente.

Exemplo 4: Iniciar um serviço desabilitado

Este exemplo mostra como iniciar um serviço quando o tipo de início do serviço é Desabilitado.

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

A primeira tentativa de iniciar o serviço Telnet (tlntsvr) falha. O Get-CimInstance comando mostra que a propriedade StartMode do serviço Tlntsvr está Desabilitada. O Set-Service cmdlet altera o tipo de início para Manual. Agora, podemos reenviar o Start-Service comando. Desta vez, o comando terá êxito. Para verificar se o comando foi bem-sucedido, execute Get-Service.

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Especifica os nomes de exibição dos serviços a serem iniciados. Caracteres curinga são permitidos.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

Especifica os serviços que esse cmdlet omite. O valor desse parâmetro qualifica o parâmetro Name . Insira um elemento ou padrão de nome, como s*. Caracteres curinga são permitidos.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

Especifica os serviços que esse cmdlet inicia. O valor desse parâmetro qualifica o parâmetro Name . Insira um elemento ou padrão de nome, como s*. Caracteres curinga são permitidos.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Especifica objetos ServiceController que representam os serviços a serem iniciados. Insira uma variável que contém os objetos ou digite um comando ou uma expressão que obtém os objetos.

Type:ServiceController[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica os nomes de serviço para o serviço a ser iniciado.

O nome do parâmetro é opcional. Você pode usar Name ou seu alias, ServiceName ou omitir o nome do parâmetro.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Retorna um objeto que representa o serviço. Por padrão, este cmdlet não gera saída.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

ServiceController

Você pode canalizar um objeto de serviço para esse cmdlet.

String

Você pode canalizar uma cadeia de caracteres que contém o nome do serviço para esse cmdlet.

Saídas

None

Por padrão, esse cmdlet não retorna nenhuma saída.

ServiceController

Quando você usa o parâmetro PassThru , esse cmdlet retorna um objeto ServiceController que representa o serviço.

Observações

O PowerShell inclui os seguintes aliases para Start-Service:

  • Windows:
    • sasv

Esse cmdlet só está disponível em plataformas Windows.

  • Start-Service pode controlar serviços somente se o usuário atual tiver permissão para fazer isso. Se um comando não funcionar corretamente, pode ser que você não tenha as permissões necessárias.
  • Para localizar os nomes de serviço e os nomes de exibição dos serviços em seu sistema, digite Get-Service. Os nomes de serviço aparecem na coluna Nome e os nomes de exibição aparecem na coluna DisplayName .
  • Você pode iniciar somente os serviços que têm um tipo de início Manual, Automático ou Automático (Início Atrasado). Não é possível iniciar os serviços que têm um tipo de início Desabilitado. Se um Start-Service comando falhar com a mensagem Cannot start service \<service-name\> on computer, use Get-CimInstance para localizar o tipo de início do serviço e, se necessário, use o Set-Service cmdlet para alterar o tipo de início do serviço.
  • Alguns serviços, como Logs e Alertas de Desempenho (SysmonLog), param automaticamente se não tiverem trabalho a fazer. Quando o PowerShell inicia um serviço que pára quase imediatamente, ele exibe a seguinte mensagem: Service \<display-name\> start failed.