New-Service
Cria um novo serviço Windows.
Syntax
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 do Windows.
O New-Service
cmdlet cria uma nova entrada para um serviço Windows no registo e na base de dados de serviço. Um novo serviço requer um ficheiro executável que é executado durante o serviço.
Os parâmetros deste cmdlet permitem-lhe definir o nome a apresentar, a descrição, o tipo de arranque e as dependências do serviço.
Exemplos
Exemplo 1: Create um serviço
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
Este comando cria um serviço com o nome TestService.
Exemplo 2: Create um serviço que inclui a descrição, o tipo de arranque e o nome a apresentar
$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
Este comando cria um serviço com o nome TestService. Utiliza os parâmetros de New-Service
para especificar uma descrição, tipo de arranque e nome a apresentar para o novo serviço.
Exemplo 3: Ver o novo serviço
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Este comando utiliza Get-CimInstance
para obter o objeto Win32_Service para o novo serviço. Este 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á a ser 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 $SDDLToSet
variável. O parâmetro SecurityDescriptorSddl utiliza $SDDL
para definir o SecurityDescriptor do novo serviço.
Parâmetros
-BinaryPathName
Especifica o caminho do ficheiro executável para o serviço. Este parâmetro é necessário.
O caminho completamente qualificado para o ficheiro binário do serviço. Se o caminho contiver um espaço, tem de ser citado para que seja corretamente interpretado. 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'
. Estes argumentos são transmitidos para o ponto de entrada de serviço.
Para obter mais informações, veja o parâmetro lpBinaryPathName da API CreateServiceW .
Type: | String |
Aliases: | Path |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Solicita a sua confirmação antes de executar o cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Especifica a conta utilizada pelo serviço como Conta de Início de Sessão do Serviço.
Escreva um nome de utilizador, como User01 ou Domain01\User01, ou introduza um objeto PSCredential , como um Get-Credential
gerado pelo cmdlet. Se escrever um nome de utilizador, este cmdlet pede-lhe uma palavra-passe.
As credenciais são armazenadas num objeto PSCredential e a palavra-passe é armazenada como secureString.
Nota
Para obter mais informações sobre a proteção de dados SecureString , veja Quão seguro é o SecureString?.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DependsOn
Especifica os nomes de outros serviços de que depende o novo serviço. Para introduzir vários nomes de serviço, utilize uma vírgula para separar os nomes.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Especifica uma descrição do serviço.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Especifica um nome a apresentar para o serviço.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Especifica o nome do serviço. Este parâmetro é necessário.
Type: | String |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecurityDescriptorSddl
Especifica o SecurityDescriptor para o serviço no formato Sddl .
Type: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartupType
Define o tipo de arranque do serviço. Os valores aceitáveis para este parâmetro são:
- Automático – o serviço é iniciado ou iniciado pelo sistema operativo, na start-up 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 no arranque do sistema.
- AutomaticDelayedStart – é iniciado pouco depois de o sistema arrancar.
- Desativado – o serviço está desativado e não pode ser iniciado por um utilizador ou aplicação.
- InvalidValue - Este valor não é suportado. A utilização deste valor resulta num erro.
- Manual – o serviço é iniciado apenas manualmente, por um utilizador, através do Service Control Manager ou de uma aplicação.
O valor predefinido é Automático.
Type: | ServiceStartupType |
Accepted values: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Position: | Named |
Default value: | Automatic |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
Não pode encaminhar objetos para este cmdlet.
Saídas
Este cmdlet devolve um objeto que representa o novo serviço.
Notas
Este cmdlet só está disponível nas plataformas do Windows.
Para executar este cmdlet, inicie o PowerShell com a opção Executar como administrador .