Set-Service
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 |
computador local |
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 |
Nenhum 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.
Consulte também
Conceitos
Get-Service
Start-Service
Stop-Service
Restart-Service
Resume-Service
Suspend-Service
New-Service