Delen via


New-Service

Hiermee maakt u een nieuwe Windows-service.

Syntaxis

Default (Standaard)

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 maken

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: Een service maken die een beschrijving, opstarttype en weergavenaam bevat

$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. Hierbij worden de parameters van New-Service 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 Get-CimInstance gebruikt om het Win32_Service-object voor de nieuwe service op te halen. Dit object bevat de startmodus en de servicebeschrijving.

Voorbeeld 4: De SecurityDescriptor van een service instellen bij het maken.

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 servicebestand. Als het pad een spatie bevat, moet het worden geciteerd zodat het correct wordt geïnterpreteerd. D:\my share\myservice.exe moet bijvoorbeeld worden opgegeven als '"D:\my share\myservice.exe"'.

Het pad kan ook argumenten bevatten voor een service voor automatisch starten. Bijvoorbeeld: '"D:\my share\myservice.exe" arg1 arg2'. Deze argumenten worden doorgegeven aan het serviceinvoerpunt.

Zie de parameter lpBinaryPathName parameter van CreateServiceW API voor meer informatie.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Path

Parametersets

(All)
Position:1
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Credential

Bepaalt het account dat door de service wordt gebruikt als het service-aanmeldingsaccount .

Typ een gebruikersnaam, zoals User01 of Domain01\User01, of voer een PSCredential--object in, zoals een object dat is gegenereerd door de Get-Credential-cmdlet. Als u een gebruikersnaam typt, wordt u door deze cmdlet gevraagd om een wachtwoord.

Referenties worden opgeslagen in een PSCredential-object en het wachtwoord wordt opgeslagen als een SecureString.

Opmerking

Zie voor meer informatie over SecureString gegevensbeveiliging Hoe veilig is SecureString?.

Parametereigenschappen

Type:PSCredential
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-DependsOn

Hiermee geeft u de namen van andere services waarop de nieuwe service afhankelijk is. Als u meerdere servicenamen wilt invoeren, gebruikt u een komma om de namen te scheiden.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Description

Hiermee geeft u een beschrijving van de service.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-DisplayName

Hiermee geeft u een weergavenaam voor de service op.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Name

Hiermee geeft u de naam van de service. Deze parameter is vereist.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Dienstnaam

Parametersets

(All)
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-SecurityDescriptorSddl

Specificeert de SecurityDescriptor voor de service in de Sddl-indeling.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Sd

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-StartupType

Hiermee stelt u het opstarttype van de service in. De acceptabele waarden voor deze parameter zijn:

  • Automatic - 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 kort na het opstarten van het systeem uitgevoerd.
  • Uitgeschakeld: de service is uitgeschakeld en kan niet worden gestart door een gebruiker of toepassing.
  • InvalidValue : deze waarde wordt niet ondersteund. Als u deze waarde gebruikt, resulteert dit in een fout.
  • Handmatige: de service wordt alleen handmatig gestart door een gebruiker, met behulp van Service Control Manager of door een toepassing.

De standaardwaarde is Automatisch.

Parametereigenschappen

Type:ServiceStartupType
Default value:Automatic
Geaccepteerde waarden:Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

ServiceController

Met deze cmdlet wordt een object geretourneerd 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.