Inicia, para e suspende um serviço e altera suas propriedades.

Sintaxe

Set-Service [-Name] <string> [-Descrição <string>] [-DisplayName <string>] [-PassThru] [-StartupType {<Automatic> | <Manual> | <Disabled>}] [-Status <string>] [-ComputerName <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Set-Service [-Descrição <string>] [-DisplayName <string>] [-InputObject <ServiceController>] [-PassThru] [-StartupType {<Automatic> | <Manual> | <Disabled>}] [-Status <string>] [-ComputerName <string[]>] [-Confirm] [-WhatIf] [<CommonParameters>]

Descrição

O cmdlet Set-Service altera as propriedades de um serviço local ou remoto, incluindo o status, a descrição, o nome para exibição e o modo de inicialização. Você pode usar esse cmdlet para iniciar, parar ou suspender (pausar) um serviço. Para identificar o serviço, insira o nome do serviço ou envie um objeto de serviço, ou envie por pipe um nome ou objeto de serviço para Set-Service.

Parâmetros

-ComputerName <string[]>

Especifica um ou mais computadores. O padrão é o computador local.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um computador remoto. Para especificar o computador local, digite o nome do computador, um ponto (.) ou "localhost".

Este parâmetro não se baseia na comunicação remota do Windows PowerShell. Você pode usar o parâmetro ComputerName de Set-Service mesmo que o seu computador não esteja configurado para executar comandos remotos.

Necessário?

false

Posição?

named

Valor padrão

local computer

Aceitar entrada do pipeline?

true (ByPropertyName)

Aceitar caracteres curinga?

false

-Descrição <string>

Especifica uma nova descrição para o serviço.

A descrição do serviço aparece em Serviços, no Gerenciamento do computador. Description não é uma propriedade do objeto ServiceController obtido por Get-Service. Para ver a descrição do serviço, use Get-WmiObject para obter um objeto Win32_Service que representa o serviço.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-DisplayName <string>

Especifica um novo nome para exibição do serviço.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-InputObject <ServiceController>

Especifica um objeto ServiceController que representa o serviço a ser alterado. Insira uma variável que contenha o objeto ou digite um comando ou uma expressão que obtenha o objeto, como um comando Get-Service. Você também pode enviar por pipe um objeto de serviço para Set-Service.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

true (ByValue)

Aceitar caracteres curinga?

false

-Name <string>

Especifica o nome do serviço a ser alterado. Os caracteres curinga não são permitidos. Você também pode enviar por pipe um nome de serviço para Set-Service.

Necessário?

true

Posição?

1

Valor padrão

Aceitar entrada do pipeline?

true (ByValue, ByPropertyName)

Aceitar caracteres curinga?

false

-PassThru

Retorna objetos que representam os serviços que foram alterados. Por padrão, este cmdlet não gera nenhuma saída.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-StartupType <ServiceStartMode>

Altera o modo de inicialização do serviço. Os valores válidos para StartupType são:

-- Automatic: inicia quando o sistema é iniciado.

-- Manual: inicia apenas quando iniciado por um usuário ou programa.

-- Disabled: não pode ser iniciado.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Status <string>

Inicia, para ou suspende (pausa) os serviços. Os valores válidos são:

-- Executando: inicia o serviço.

-- Parado: para o serviço.

-- Pausado: suspende o serviço.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-Confirm

Solicita confirmação antes da execução do comando.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

-WhatIf

Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.

Necessário?

false

Posição?

named

Valor padrão

Aceitar entrada do pipeline?

false

Aceitar caracteres curinga?

false

<CommonParameters>

Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.

Entradas e saídas

O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.

Entradas

System.ServiceProcess.ServiceController, System.String

Você pode enviar um objeto de serviço ou uma cadeia de caracteres que contém um nome de serviço para Set-Service.

Saídas

None

Este cmdlet não retorna nenhum objeto.

Observações

Para usar Set-Service no Windows Vista e em versões mais recentes do Windows, inicie o Windows PowerShell com a opção "Executar como administrador".

Set-Service poderá controlar os serviços somente quando o usuário atual tiver permissão para isso. Se um comando não funcionar corretamente, talvez você não tenha as permissões necessárias.

Para encontrar os nomes de serviços e os nomes de exibição dos serviços no seu sistema, digite "Get-Service". Os nomes de serviços são exibidos na coluna Name e os nomes de exibição na coluna DisplayName.

Exemplo 1

C:\PS>set-service -name lanmanworkstation -DisplayName "LanMan Workstation"

Descrição
-----------
Esse comando altera o nome de exibição do serviço lanmanworkstation para "LanMan Workstation". (O padrão é "Workstation".)






Exemplo 2

C:\PS>get-wmiobject win32_service -filter "name = 'SysmonLog'"

ExitCode  : 0
Name      : SysmonLog
ProcessId : 0
StartMode : Manual
State     : Stopped
Status    : OK

C:\PS> set-service sysmonlog -startuptype automatic

C:\PS> get-wmiobject win32_service -filter "name = 'SysmonLog'"

ExitCode  : 0
Name      : SysmonLog
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

C:\PS> get-wmiobject win32_service | format-table Name, StartMode -auto

Name                                  StartMode
----                                  ---------
AdtAgent                              Auto
Alerter                               Disabled
ALG                                   Manual
AppMgmt                               Manual
...

Descrição
-----------
Estes comandos obtêm o tipo de inicialização do serviço Logs e Alertas de Desempenho (SysmonLog), definem o modo inicial como automático e exibem o resultado da alteração.

Eles usam o cmdlet Get-WmiObject para obter o objeto Win32_Service para o serviço, porque o objeto ServiceController retornado por Get-Service não inclui o modo de inicialização.

O primeiro comando usa o cmdlet Get-WmiObject para obter o objeto WMI que representa o serviço SysmonLog. A saída padrão desse comando exibe o modo de inicialização do serviço. 

O segundo comando usa Set-Service para alterar o modo de inicialização para automático. Em seguida, o primeiro comando é repetido para exibir a mudança.

O comando final exibe o modo de inicialização de todos os serviços no computador.






Exemplo 3

C:\PS>set-service -name Schedule -computername S1 -description "Configures and schedules tasks."

C:\PS> get-wmiobject win32_service -computername s1 | where-object {$_.Name -eq "Schedule"} | format-list Name, Description

Descrição
-----------
Esses comandos alteram a descrição do serviço Agendador de Tarefas no computador remoto S1 e exibem o resultado.

Eles usam o cmdlet Get-WmiObject para obter o objeto Win32_Service para o serviço, porque o objeto ServiceController retornado por Get-Service não inclui a descrição do serviço.

O primeiro comando usa um comando Set-Service para alterar a descrição. Ele identifica o serviço usando o nome do serviço, "Schedule".

O segundo comando utiliza o cmdlet Get-WmiObject para obter uma instância do objeto WMI Win32_Service, que representa o serviço Agendador de Tarefas. O primeiro elemento do comando obtém todas as instâncias da classe Win32_service. 

O operador de pipeline (|) transmite o resultado para o cmdlet Where-Object, que seleciona instâncias com um valor "Schedule" na propriedade Name. 

Outro operador de pipeline envia o resultado para o cmdlet Format-List, que formata a saída como uma lista com as propriedades Name e Description.






Exemplo 4

C:\PS>set-service winrm -status Running -passthru -computername Server02

Descrição
-----------
Esse comando inicia o serviço WinRM no computador Server02. O comando usa o parâmetro Status para especificar o status desejado (“executando”) e o parâmetro PassThru para direcionar o Set-Service a retornar um objeto que representa o serviço WinRM.






Exemplo 5

C:\PS>get-service schedule -computername S1, S2 | set-service -status paused

Descrição
-----------
Esse comando suspende o serviço Schedule nos computadores remotos S1 e S2. Ele usa o cmdlet Get-Service para obter o serviço. Um operador de pipeline (|) envia o serviço para o cmdlet Set-Service, que altera seu status para "Pausado".






Exemplo 6

C:\PS>$s = get-service schedule

C:\PS> set-service -inputobject $s -status stopped

Descrição
-----------
Esse comando para o serviço Schedule no computador local. 

O primeiro comando usa o cmdlet Get-Service para obter o serviço Schedule. O comando salva o serviço na variável $s.

O segundo comando usa o cmdlet Set-Service para alterar o status do serviço Schedule para “Pausado”. Ele usa o parâmetro InputObject para enviar o serviço armazenado na variável $s e o parâmetro Status para especificar o status desejado.






See Also




Sumário