Compartilhar via


New-Service

Cria um novo serviço windows.

Sintaxe

New-Service
   [-Name] <String>
   [-BinaryPathName] <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-StartupType <ServiceStartMode>]
   [-Credential <PSCredential>]
   [-DependsOn <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

O cmdlet New-Service cria uma nova entrada para um serviço windows no registro e no banco de dados de serviço. Um novo serviço requer um arquivo executável executado durante o serviço.

Os parâmetros desse cmdlet permitem definir o nome de exibição, a descrição, o tipo de inicialização e as dependências do serviço.

Exemplos

Exemplo 1: Criar um serviço

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"

Esse comando cria um serviço chamado TestService.

Exemplo 2: criar um serviço que inclua descrição, tipo de inicialização e nome de exibição

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs" -DependsOn NetLogon -DisplayName "Test Service" -StartupType Manual -Description "This is a test service."

Esse comando cria um serviço chamado TestService. Ele usa os parâmetros de new-service para especificar uma descrição, um tipo de inicialização e um nome de exibição para o novo serviço.

Exemplo 3: exibir o novo serviço

PS C:\> Get-WmiObject win32_service -Filter "name='testservice'"
ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

Esse comando usa Get-WmiObject para obter o objeto Win32_Service para o novo serviço. Esse objeto inclui o modo de início e a descrição do serviço.

Exemplo 4: excluir um serviço

PS C:\> sc.exe delete TestService
- or -
PS C:\> (Get-WmiObject win32_service -Filter "name='TestService'").delete()

Este exemplo mostra duas maneiras de excluir o serviço TestService. O primeiro comando usa a opção de exclusão de Sc.exe. O segundo comando usa o método Delete dos objetos Win32_Service que Get-WmiObject retorna.

Parâmetros

-BinaryPathName

Especifica o caminho do arquivo executável para o serviço. Esse parâmetro é necessário.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Confirm

Solicita a confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga: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.

Tipo:PSCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DependsOn

Especifica os nomes de outros serviços dos quais o novo serviço depende. Para inserir vários nomes de serviço, use uma vírgula para separar os nomes.

Tipo:String[]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Description

Especifica uma descrição do serviço.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DisplayName

Especifica um nome de exibição para o serviço.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Name

Especifica o nome do serviço. Esse parâmetro é necessário.

Tipo:String
Aliases:ServiceName
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-StartupType

Define o tipo de inicialização do serviço. Os valores aceitáveis para este parâmetro são:

  • Manual. O serviço é iniciado apenas manualmente, por um usuário, usando o Service Control Manager ou por um aplicativo.
  • Automático. O serviço é iniciado ou 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.
  • Desactivado. O serviço está desabilitado e não pode ser iniciado por um usuário ou aplicativo.

O valor padrão é Automático.

Tipo:ServiceStartMode
Valores aceitos:Automatic, Manual, Disabled
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:False
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

None

Não é possível redirecionar a entrada para este cmdlet.

Saídas

ServiceController

Esse cmdlet retorna um objeto que representa o novo serviço.

Observações

  • Para executar esse cmdlet no Windows Vista e versões posteriores do sistema operacional Windows, inicie o Windows PowerShell usando a opção Executar como administrador.
  • Para excluir um serviço, use Sc.exeou use o cmdlet Get-WmiObject para obter o objeto Win32_Service que representa o serviço e, em seguida, use o método Delete para excluir o serviço. O objeto que Get-Service retorna não tem um método de exclusão.