Compartilhar via


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 inicial para o Controlador de Serviço do Windows 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 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 quando você executasse o comando, mas não faça 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 pelo Start-Service para o Format-List cmdlet 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 de início do serviço estiver 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 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.

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

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 esse 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, este cmdlet não gera nenhuma saída.

Observações

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

  • Você também pode se referir por seu alias Start-Service interno, sasv. Para obter mais informações, consulte about_Aliases.
  • Start-Service só poderá controlar os serviços 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 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 Start-Service comando 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 Set-Service cmdlet 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.