Partilhar via


Set-Service

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

Sintaxe

Name (Predefiniçã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 o Status, Descrição, DisplayName e 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 através do 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 ver 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 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 utiliza o parâmetro Nome para especificar o serviço BITS e envia o objeto através do pipeline. Select-Object usa o parâmetro Property para mostrar o estado 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 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 fornece 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 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 Parado.

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 Parado.

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 é armazenado na variável $SDDL. Set-Service usa o parâmetro Name para especificar o BITS serviço. O parâmetro SecurityDescriptorSddl usa $SDDL para alterar o SecurityDescriptor do serviço BITS.

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 encaminhar 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 dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Cf.

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Credential

Especifica a conta usada pelo serviço como a Conta de Logon do 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 num objeto PSCredential e a palavra-passe é armazenada como uma SecureString.

Observação

Para obter mais informações sobre SecureString proteção de dados, consulte Quão seguro é o SecureString?.

Esse parâmetro foi introduzido no PowerShell 6.0.

Propriedades dos parâmetros

Tipo:PSCredential
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 Description não é uma propriedade do objetoServiceController Get-Service. Para ver a descrição do serviço, use Get-CimInstance que retorna um objeto Win32_Service que representa o serviço.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 especificares o nome de um driver, o Set-Service pode apontar para o driver.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:DN

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 obtenha o objeto, como um comando Get-Service. Você pode usar o pipeline para enviar um objeto de serviço para Set-Service.

Propriedades dos parâmetros

Tipo:ServiceController
Default value:None
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

InputObject
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 especificares o nome de um driver, o Set-Service pode apontar para o driver.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:NomeDoServiço, SN

Conjuntos de parâmetros

Name
Position:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos: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 dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 obter mais informações, consulte Segurança do serviço e direitos de acesso.

Propriedades dos parâmetros

Tipo:String
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:SD

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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.

Propriedades dos parâmetros

Tipo:ServiceStartupType
Default value:None
Valores aceites:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Suporta carateres universais:False
NãoMostrar:False
Aliases:StartMode, SM, ST, StartType

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-Status

Especifica o status do serviço.

Os valores aceitáveis para este parâmetro são os seguintes:

  • Está em pausa. Suspende o serviço.
  • Executando. Inicia o serviço.
  • Parou. Interrompe o serviço.

Propriedades dos parâmetros

Tipo:String
Default value:None
Valores aceites:Paused, Running, Stopped
Suporta carateres universais:False
NãoMostrar:False

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos:False

-WhatIf

Mostra o que aconteceria se Set-Service corresse. O cmdlet não é executado.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:False
Suporta carateres universais:False
NãoMostrar:False
Aliases:Wi

Conjuntos de parâmetros

(All)
Position:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline por nome de propriedade:False
Valor dos restantes argumentos: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 esse cmdlet.

String

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.

ServiceController

Quando você usa o parâmetro PassThru, esse cmdlet retorna um objeto ServiceController.

Notas

Este cmdlet só está disponível 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 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.