New-Service
Cria um novo serviço windows.
Sintaxe
Default (Padrão)
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Este cmdlet só está disponível na plataforma Windows.
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
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
$params = @{
Name = "TestService"
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
}
New-Service @params
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
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Esse comando usa Get-CimInstance 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: defina o SecurityDescriptor de um serviço ao criar.
Este exemplo adiciona o SecurityDescriptor do serviço que está sendo criado.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
$params = @{
BinaryPathName = 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
SecurityDescriptorSddl = $SDDL
}
New-Service @params
O SecurityDescriptor é armazenado na variável $SDDLToSet. O parâmetro SecurityDescriptorSddl usa $SDDL para definir o SecurityDescriptor do novo serviço.
Parâmetros
-BinaryPathName
Especifica o caminho do arquivo executável para o serviço. Este parâmetro é obrigatório.
O caminho totalmente qualificado para o arquivo binário de serviço. Se o caminho contiver um espaço, ele deverá ser citado para que ele seja interpretado corretamente. Por exemplo, D:\my share\myservice.exe deve ser especificado como '"D:\my share\myservice.exe"'.
O caminho também pode incluir argumentos para um serviço de início automático. Por exemplo, '"D:\my share\myservice.exe" arg1 arg2'. Esses argumentos são passados para o ponto de entrada de serviço.
Para obter mais informações, consulte o parâmetro lpBinaryPathName da API CreateServiceW.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | Caminho |
Conjuntos de parâmetros
(All)
| Cargo: | 1 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline pelo nome da propriedade: | False |
| Valor dos argumentos restantes: | False |
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
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?.
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 |
-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.
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 |
-Description
Especifica uma descrição do 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 nome de exibição para 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 |
-Name
Especifica o nome do serviço. Este parâmetro é obrigatório.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | NomeDoServiço |
Conjuntos de parâmetros
(All)
| Cargo: | 0 |
| Obrigatório: | True |
| 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.
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
Define o tipo de inicialização do serviço. Os valores aceitáveis para este parâmetro são:
- 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 há suporte para esse valor. Usar esse valor resulta em um erro.
- Manual – o serviço é iniciado apenas manualmente, por um usuário, usando o Service Control Manager ou por um aplicativo.
O valor padrão é Automático.
Propriedades do parâmetro
| Tipo: | ServiceStartupType |
| Valor padrão: | Automatic |
| Valores aceitos: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
| 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 o cmdlet 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
None
Não é possível transferir objetos para esse cmdlet.
Saídas
ServiceController
Esse cmdlet retorna um objeto que representa o novo serviço.
Observações
Este cmdlet está disponível apenas em plataformas Windows.
Para executar esse cmdlet, inicie o PowerShell usando a opção Executar como administrador.