Set-Service
Inicia, interrompe, suspende um serviço e altera suas propriedades.
Sintaxe
Name (Padrão)
Set-Service
[-Name] <String>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-Status <String>]
[-SecurityDescriptorSddl <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InputObject
Set-Service
[-InputObject] <ServiceController>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-SecurityDescriptorSddl <String>]
[-Status <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Este cmdlet só está disponível na plataforma Windows.
O cmdlet Set-Service altera as propriedades de um serviço, como Status, Description, DisplayNamee StartupType.
Set-Service pode iniciar, parar, suspender ou pausar um serviço. Para identificar um serviço, insira seu nome de serviço ou envie um objeto de serviço. Ou envie um nome de serviço ou objeto de serviço pelo pipeline para Set-Service.
Exemplos
Exemplo 1: alterar um nome de exibição
Neste exemplo, o nome de exibição de um serviço é alterado. Para exibir o nome de exibição original, use Get-Service.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service usa o parâmetro Name para especificar o nome do serviço, LanmanWorkstation. O parâmetro DisplayName especifica o novo nome de exibição, LanMan Workstation .
Exemplo 2: alterar o tipo de inicialização de serviços
Este exemplo mostra como alterar o tipo de inicialização de um serviço.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic Running
Set-Service usa o parâmetro Name para especificar o nome do serviço, BITS. O parâmetro StartupType define o serviço como Automático.
Get-Service usa o parâmetro Name para especificar o BITS serviço e envia o objeto pelo pipeline.
Select-Object usa o parâmetro Property para exibir o status do serviço BITS.
Exemplo 3: alterar a descrição de um serviço
Este exemplo altera a descrição do serviço BITS e exibe o resultado.
O cmdlet Get-CimInstance é usado porque ele retorna um objeto Win32_Service que inclui a Descrição do serviço.
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
disabled, then any applications that depend on BITS, such as Windows Update or MSN
Explorer, will be unable to automatically download programs and other information.
Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth.
Get-CimInstance envia o objeto pelo pipeline para Format-List e exibe o nome e a descrição do serviço. Para fins de comparação, o comando é executado antes e depois que a descrição é atualizada.
Set-Service usa o parâmetro Name para especificar o serviço BITS. O parâmetro Description especifica o texto atualizado para a descrição dos serviços.
Exemplo 4: Iniciar um serviço
Neste exemplo, um serviço é iniciado.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...
Set-Service usa o parâmetro Nome para especificar o serviço, WinRM. O parâmetro Status usa o valor Executando para iniciar o serviço. O parâmetro PassThru gera um objeto ServiceController que exibe os resultados.
Exemplo 5: suspender um serviço
Este exemplo usa o pipeline para pausar o serviço.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service usa o parâmetro Nome para especificar o serviço Agenda e envia o objeto pelo pipeline.
Set-Service usa o parâmetro Status para definir o serviço como Pausado.
Exemplo 6: Parar um serviço
Este exemplo usa uma variável para interromper um serviço.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service usa o parâmetro Name para especificar o serviço, Schedule. O objeto é armazenado na variável, $S.
Set-Service usa o parâmetro InputObject e especifica o objeto armazenado $S. O parâmetro status define o serviço como interrompido.
Exemplo 7: Parar um serviço em um sistema remoto
Este exemplo interrompe um serviço em um computador remoto. Para mais informações, consulte Invoke-Command.
$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
Set-Service -InputObject $S -Status Stopped
}
Get-Credential solicita um nome de usuário e senha e armazena as credenciais na variável $Cred.
Get-Service usa o parâmetro Nome para especificar o serviço Agenda. O objeto é armazenado na variável, $S.
Invoke-Command usa o parâmetro ComputerName para especificar um computador remoto. O parâmetro Credencial usa a variável $Cred para fazer login no computador. O ScriptBlock chama Set-Service. O parâmetro InputObject especifica o objeto de serviço armazenado $S. O parâmetro status define o serviço como interrompido.
Exemplo 8: alterar a credencial de um serviço
Este exemplo altera as credenciais usadas para gerenciar um serviço.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential solicita um nome de usuário e senha e armazena as credenciais na variável $credential.
Set-Service usa o parâmetro Nome para especificar o serviço Agenda. O parâmetro Credencial usa a variável $credential e atualiza o serviço Agenda.
Exemplo 9: alterar o SecurityDescriptor de um serviço
Este exemplo altera o SecurityDescriptorde um serviço.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
O SecurityDescriptor é armazenado na variável $SDDL.
Set-Service usa o parâmetro Name para especificar o serviço BITS. O parâmetro SecurityDescriptorSddl usa $SDDL para alterar o SecurityDescriptor para o serviço BITS.
Exemplo 10: Definir o tipo de inicialização para vários serviços
O cmdlet Set-Service aceita apenas um nome de serviço por vez. No entanto, você pode redirecionar vários serviços para Set-Service para alterar a configuração de vários serviços.
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter Automatic
Parâmetros
-Confirm
Solicita confirmação antes de executar Set-Service.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | cf |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Credential
Especifica a conta usada pelo serviço como a Conta de logon de serviço.
Digite um nome de usuário, como User01 ou Domain01\User01, ou insira um objeto PSCredential, como um gerado pelo cmdlet Get-Credential. Se você digitar um nome de usuário, esse cmdlet solicitará uma senha.
As credenciais são armazenadas em um objeto PSCredential e a senha é armazenada como um SecureString.
Observação
Para obter mais informações sobre a proteção de dados do SecureString, consulte Quão seguro é o SecureString?.
Esse parâmetro foi introduzido no PowerShell 6.0.
Propriedades do parâmetro
| Tipo: | PSCredential |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Description
Especifica uma nova descrição para o serviço.
A descrição do serviço aparece em Gerenciamento do computador, Serviços. A Descrição não é uma propriedade do objeto Get-ServiceServiceController. Para ver a descrição do serviço, use Get-CimInstance que retorna um objeto Win32_Service que representa o serviço.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-DisplayName
Especifica um novo nome de exibição para o serviço.
Observação
Normalmente, Set-Service opera apenas em serviços windows e não em drivers. No entanto, se você especificar o nome de um driver, o Set-Service poderá direcionar o driver.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | DN |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Force
Especifica o modo de parada do serviço. Esse parâmetro só funciona quando -Status Stopped é usado. Se habilitado, Set-Service interromperá os serviços dependentes antes que o serviço de destino seja interrompido. Por padrão, as exceções são geradas quando outros serviços em execução dependem do serviço de destino.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-InputObject
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 expressão que obtém o objeto, como um comando Get-Service. Você pode usar o pipeline para enviar um objeto de serviço para Set-Service.
Propriedades do parâmetro
| Tipo: | ServiceController |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
InputObject
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Name
Especifica o nome do serviço a ser alterado. Não são permitidos caracteres curinga. Você pode usar o pipeline para enviar um nome de serviço para Set-Service.
Observação
Normalmente, Set-Service opera apenas em serviços windows e não em drivers. No entanto, se você especificar o nome de um driver, o Set-Service poderá direcionar o driver.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | NomeDoServiço, SN |
Conjuntos de parâmetros
Name
| Cargo: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-PassThru
Retorna um objeto ServiceController que representa os serviços que foram alterados. Por padrão, Set-Service não gera nenhuma saída.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-SecurityDescriptorSddl
Especifica o SecurityDescriptor para o serviço no formato Sddl. A conta que chama Set-Service com esse parâmetro deve ter as permissões WRITE_DAC e WRITE_OWNER. Para saber mais, confira Segurança de serviço e direitos de acesso.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | Sd |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-StartupType
Especifica o modo de início do serviço.
Os valores aceitáveis para esse parâmetro são os seguintes:
- Automático – O serviço é iniciado ou foi iniciado pelo sistema operacional, na inicialização do sistema. Se um serviço iniciado automaticamente depender de um serviço iniciado manualmente, o serviço iniciado manualmente também será iniciado automaticamente na inicialização do sistema.
- AutomaticDelayedStart - Inicia automaticamente após um breve atraso na inicialização do sistema.
- Desabilitado – o serviço está desabilitado e não pode ser iniciado por um usuário ou aplicativo.
- InvalidValue - Não tem efeito. O cmdlet não retorna um erro, mas o StartupType do serviço não é alterado.
- Manual – o serviço é iniciado apenas manualmente, por um usuário, usando o Service Control Manager ou por um aplicativo.
Propriedades do parâmetro
| Tipo: | ServiceStartupType |
| Valor padrão: | None |
| Valores aceitos: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | StartMode, SM, ST, StartType |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Status
Especifica o status do serviço.
Os valores aceitáveis para esse parâmetro são os seguintes:
- Pausado. Suspende o serviço.
- Em execução. Inicia o serviço.
- Parado. Interrompe o serviço.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Valores aceitos: | Paused, Running, Stopped |
| Dá suporte a curingas: | False |
| DontShow: | False |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-WhatIf
Mostra o que aconteceria se Set-Service fosse executado. O cmdlet não é executado.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | False |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | wi |
Conjuntos de parâmetros
(All)
| Cargo: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
ServiceController
Você pode canalizar um objeto de serviço para este cmdlet.
String
Você pode canalizar uma cadeia de caracteres que contém um nome de serviço para este cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
ServiceController
Quando você usa o parâmetro PassThru , esse cmdlet retorna um objeto ServiceController .
Observações
Este cmdlet está disponível apenas em plataformas Windows.
Set-Service requer permissões elevadas. Use a opção Executar como administrador.
Set-Service só pode controlar serviços quando o usuário atual tem permissões para gerenciar serviços. Se um comando não funcionar corretamente, talvez você não tenha as permissões necessárias.
Para localizar o nome de serviço ou o nome de exibição de um serviço, use Get-Service. Os nomes de serviço estão na coluna Nome e os nomes de exibição estão na coluna DisplayName.