Share via


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-CimInstanceWin32_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:\myshare\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 invoer doorsnijden naar deze cmdlet.

Uitvoerwaarden

ServiceController

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 .