Partilhar 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 para o Windows Service Controller para cada um dos serviços especificados. Se um serviço já estiver em execução, a mensagem será ignorada sem erro. Você pode especificar os serviços por seus nomes de serviço ou nomes de exibição, ou você 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 seu nome de 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 pelo nome para exibição em vez do nome do serviço. O parâmetro WhatIf faz com que o cmdlet exiba o que aconteceria quando você executa 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 variável $s. Em seguida, iniciamos o serviço. Sem o PassThru parâmetro, Start-Service não cria nenhuma saída. O operador de pipeline (|) passa a saída do objeto por Start-Service para o cmdlet Format-List 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 desativado

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 comando Get-CimInstance mostra que a propriedade StartMode do serviço Tlntsvr é Disabled. O cmdlet Set-Service altera o tipo de início 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 confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DisplayName

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

Tipo:String[]
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Exclude

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

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-Include

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

Tipo:String[]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:True

-InputObject

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

Tipo:ServiceController[]
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais: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 pode omitir o nome do parâmetro.

Tipo:String[]
Aliases:ServiceName
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-PassThru

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

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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

Este 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.

Notas

  • Você também pode se referir a Start-Service por seu alias interno, sasv. Para obter mais informações, consulte about_Aliases.
  • 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, 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 para exibição aparecem na coluna DisplayName.
  • Você pode iniciar apenas os serviços que têm um tipo de início de 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 de Desativado. Se um comando Start-Service 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 cmdlet Set-Service 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 para quase imediatamente, ele exibe a seguinte mensagem: Service \<display-name\> start failed.