New-Service
Hiermee maakt u een nieuwe Windows-service.
Syntax
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Deze cmdlet is alleen beschikbaar op het Windows-platform.
De New-Service
cmdlet maakt een nieuwe vermelding voor een Windows-service in het register en in de servicedatabase. Voor een nieuwe service is een uitvoerbaar bestand vereist dat wordt uitgevoerd tijdens de service.
Met de parameters van deze cmdlet kunt u de weergavenaam, beschrijving, opstarttype en afhankelijkheden van de service instellen.
Voorbeelden
Voorbeeld 1: een service Creatie
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
Met deze opdracht maakt u een service met de naam TestService.
Voorbeeld 2: Creatie een service met beschrijving, opstarttype en weergavenaam
$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
Met deze opdracht maakt u een service met de naam TestService. De parameters van New-Service
worden gebruikt om een beschrijving, opstarttype en weergavenaam voor de nieuwe service op te geven.
Voorbeeld 3: De nieuwe service weergeven
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Met deze opdracht wordt het Get-CimInstance
Win32_Service-object voor de nieuwe service opgehaald. Dit object bevat de startmodus en de servicebeschrijving.
Voorbeeld 4: Stel de SecurityDescriptor van een service in bij het maken van een service.
In dit voorbeeld wordt de SecurityDescriptor toegevoegd van de service die wordt gemaakt.
$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
De SecurityDescriptor wordt opgeslagen in de $SDDLToSet
variabele. De parameter SecurityDescriptorSddl gebruikt $SDDL
om de SecurityDescriptor van de nieuwe service in te stellen.
Parameters
-BinaryPathName
Hiermee geeft u het pad van het uitvoerbare bestand voor de service. Deze parameter is vereist.
Het volledig gekwalificeerde pad naar het binaire bestand van de service. Als het pad een spatie bevat, moet deze worden aanhalingstekens zodat het correct wordt geïnterpreteerd. Moet bijvoorbeeld d:\my share\myservice.exe
worden opgegeven als '"d:\my share\myservice.exe"'
.
Het pad kan ook argumenten voor een service automatisch starten bevatten. Bijvoorbeeld '"d:\my share\myservice.exe" arg1 arg2'
. Deze argumenten worden doorgegeven aan het service-invoerpunt.
Zie de parameter lpBinaryPathName van de CreateServiceW API voor meer informatie.
Type: | String |
Aliases: | Path |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Hiermee geeft u het account op dat door de service wordt gebruikt als het serviceaanmeldingsaccount.
Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential-object in, zoals een object dat wordt gegenereerd door de Get-Credential
cmdlet. Als u een gebruikersnaam typt, wordt u met deze cmdlet gevraagd om een wachtwoord.
Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString.
Notitie
Zie Hoe veilig is SecureString? voor meer informatie over SecureString-gegevensbeveiliging.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DependsOn
Hiermee geeft u de namen van andere services waarvan de nieuwe service afhankelijk is. Als u meerdere servicenamen wilt invoeren, gebruikt u een komma om de namen van elkaar te scheiden.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Hiermee geeft u een beschrijving van de service.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Hiermee geeft u een weergavenaam voor de service.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Hiermee geeft u de naam van de service. Deze parameter is vereist.
Type: | String |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecurityDescriptorSddl
Hiermee geeft u de SecurityDescriptor voor de service in Sddl-indeling .
Type: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartupType
Hiermee stelt u het opstarttype van de service in. De aanvaardbare waarden voor deze parameter zijn:
- Automatisch : de service wordt gestart of is gestart door het besturingssysteem, bij het opstarten van het systeem. Als een automatisch gestarte service afhankelijk is van een handmatig gestarte service, wordt de handmatig gestarte service ook automatisch gestart bij het opstarten van het systeem.
- AutomaticDelayedStart - Wordt gestart kort nadat het systeem is opgestart.
- Uitgeschakeld : de service is uitgeschakeld en kan niet worden gestart door een gebruiker of toepassing.
- InvalidValue : deze waarde wordt niet ondersteund. Het gebruik van deze waarde resulteert in een fout.
- Handmatig : de service wordt alleen handmatig gestart, door een gebruiker, met behulp van Service Control Manager of door een toepassing.
De standaardwaarde is Automatisch.
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
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
None
U kunt geen objecten doorsnijden naar deze cmdlet.
Uitvoerwaarden
Deze cmdlet retourneert een object dat de nieuwe service vertegenwoordigt.
Notities
Deze cmdlet is alleen beschikbaar op Windows-platforms.
Als u deze cmdlet wilt uitvoeren, start u PowerShell met behulp van de optie Als administrator uitvoeren .