Set-Service
Inicia, para e suspende um serviço e altera suas propriedades.
Sintaxe
Set-Service
[-Name] <String>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-Status <String>]
[-SecurityDescriptorSddl <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
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
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 para baixo no pipeline para Set-Service
.
Exemplos
Exemplo 1: Alterar um nome para exibição
Neste exemplo, o nome de exibição de um serviço é alterado. Para exibir o nome para 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 para 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 Automatic.
Get-Service
usa o parâmetro Name para especificar o serviço de BITS e envia o objeto pelo pipeline.
Select-Object
usa o parâmetro Property para exibir o BITS status do serviço.
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 retorna um objeto Win32_Service que inclui o Description 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 BITS serviço. 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 Name para especificar o serviço, WinRM. O parâmetro Status usa o valor Running para iniciar o serviço. O parâmetro PassThru gera uma saída 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 Name para especificar o serviço Schedule e envia o objeto pelo pipeline.
Set-Service
usa o parâmetro Status para definir o serviço como Paused.
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 Stop.
Exemplo 7: Parar um serviço num sistema remoto
Este exemplo interrompe um serviço em um computador remoto. Para obter 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 Name para especificar o Schedule service. O objeto é armazenado na variável, $S
.
Invoke-Command
usa o parâmetro ComputerName para especificar um computador remoto. O parâmetro Credential usa a variável $Cred
para fazer logon 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 Stop.
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 Name para especificar o Schedule service. O parâmetro Credential usa a variável $credential
e atualiza o serviço Schedule.
Exemplo 9: Alterar o SecurityDescriptor de um serviço
Este exemplo altera o SecurityDescriptor de um serviço.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
O SecurityDescriptor Set-Service
usa o parâmetro Name para especificar o BITS serviço. O parâmetro
Exemplo 10: Definir o tipo de inicialização para vários serviços
O cmdlet Set-Service
só aceita um nome de serviço de cada vez. No entanto, você pode canalizar vários serviços para Set-Service
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
.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Credential
Especifica a conta usada pelo serviço como a Conta de Logon do Serviço .
Digite um nome de usuário, como
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.
Tipo: | PSCredential |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Description
Especifica uma nova descrição para o serviço.
A descrição do serviço aparece em Gerenciamento do Computador, Serviços. O Get-CimInstance
que retorna um objeto Win32_Service que representa o serviço.
Tipo: | String |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-DisplayName
Especifica um novo nome para exibição para o serviço.
Observação
Normalmente, Set-Service
só opera em serviços do Windows e não em drivers. No entanto, se você especificar o nome de um driver, Set-Service
pode direcionar o driver.
Tipo: | String |
Aliases: | DN |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Force
Especifica o modo Stop do serviço. Este parâmetro só funciona quando -Status Stopped
é usado. Se habilitado, Set-Service
interrompe 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-InputObject
Especifica um objeto ServiceController Get-Service
. Você pode usar o pipeline para enviar um objeto de serviço para Set-Service
.
Tipo: | ServiceController |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Name
Especifica o nome do serviço a ser alterado. Caracteres curinga não são permitidos. Você pode usar o pipeline para enviar um nome de serviço para Set-Service
.
Observação
Normalmente, Set-Service
só opera em serviços do Windows e não em drivers. No entanto, se você especificar o nome de um driver, Set-Service
pode direcionar o driver.
Tipo: | String |
Aliases: | ServiceName, SN |
Position: | 0 |
Default value: | None |
Necessário: | True |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | 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.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-SecurityDescriptorSddl
Especifica o SecurityDescriptor para o serviço em formato Sddl. A conta que chama Set-Service
com esse parâmetro deve ter as permissões WRITE_DAC e WRITE_OWNER. Para obter mais informações, consulte Segurança do serviço e direitos de acesso.
Tipo: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-StartupType
Especifica o modo de início do serviço.
Os valores aceitáveis para este 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 logo após a inicialização do sistema.
- Disabled - O serviço está desativado 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.
Tipo: | ServiceStartupType |
Aliases: | StartMode, SM, ST, StartType |
Valores aceites: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Status
Especifica o status do serviço.
Os valores aceitáveis para este parâmetro são os seguintes:
- Pausou. Suspende o serviço.
- Executando. Inicia o serviço.
- Parou. Interrompe o serviço.
Tipo: | String |
Valores aceites: | Paused, Running, Stopped |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-WhatIf
Mostra o que aconteceria se Set-Service
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
Você pode canalizar um objeto de serviço para esse cmdlet.
Você pode canalizar uma cadeia de caracteres que contém um nome de serviço para esse cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
Quando você usa o parâmetro
Notas
Este cmdlet só está disponível em plataformas Windows.
Set-Service
requer permissões elevadas. Use a opção Executar como administrador opção.
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 encontrar 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 Name e os nomes para exibição estão na coluna DisplayName.