Compartilhar via


Start-Service

Inicia um ou mais serviços interrompidos.

Sintaxe

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

O cmdlet Start-Service envia uma mensagem inicial ao Controlador de Serviço do Windows para cada um dos serviços especificados. Se um serviço já estiver em execução, a mensagem será ignorada sem erros. 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 de exibição que inclua "remoto".

Start-Service -DisplayName *remote* -WhatIf

O parâmetro DisplayName identifica os serviços pelo nome de exibição, em vez do nome do serviço. O parâmetro WhatIf faz com que o cmdlet exiba o que aconteceria ao executar o comando, mas não faz alterações.

Exemplo 3: iniciar um serviço e gravar 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 represente o serviço WMI e armazená-lo na variável $s. Em seguida, iniciamos o serviço. Sem o parâmetro PassThru, não cria nenhuma saída. O operador de pipeline (|) passa a saída do objeto Start-Service para o cmdlet Format-List para formatar o objeto como uma lista de suas propriedades. O operador de redirecionamento de acréscimo (>>) 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 inicial 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 comando Get-CimInstance mostra que a propriedade StartMode do serviço Tlntsvr está desabilitada. O cmdlet Set-Service altera o tipo inicial para Manual. Agora, podemos reenviar o comando Start-Service. Desta vez, o comando é bem-sucedido. Para verificar se o comando foi bem-sucedido, execute Get-Service.

Parâmetros

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DisplayName

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

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

-Include

Especifica os serviços iniciados por esse cmdlet. 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.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:True

-InputObject

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

Tipo:ServiceController[]
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga: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.

Tipo:String[]
Aliases:ServiceName
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-PassThru

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

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

System.ServiceProcess.ServiceController, System.String

Você pode canalizar objetos que representam os serviços ou cadeias de caracteres que contêm os nomes de serviço para este cmdlet.

Saídas

None, System.ServiceProcess.ServiceController

Esse cmdlet gera um objeto System.ServiceProcess.ServiceController que representa o serviço, se você especificar PassThru. Caso contrário, esse cmdlet não gerará nenhuma saída.

Observações

  • Você também pode consultar Start-Service por seu alias interno, sasv. Para obter mais informações, consulte about_Aliases.
  • Start-Service poderá controlar os serviços somente se o usuário atual tiver permissão para fazer isso. Se um comando não funcionar corretamente, talvez 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 apenas os serviços que têm um tipo inicial de Manual, Automático ou Automático (Início Atrasado). Não é possível iniciar os serviços que têm um tipo inicial de Desabilitado. Se um comando Start-Service falhar com a mensagem Cannot start service \<service-name\> on computer, use Get-CimInstance para localizar o tipo inicial do serviço e, se necessário, use o cmdlet Set-Service para alterar o tipo inicial do serviço.
  • Alguns serviços, como Logs de Desempenho e Alertas (SysmonLog), param automaticamente se não tiverem trabalho a fazer. Quando o PowerShell inicia um serviço que para quase imediatamente, ele exibe a seguinte mensagem: Service \<display-name\> start failed.