New-Service
Skapar en ny Windows-tjänst.
Syntax
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Den här cmdleten är endast tillgänglig på Windows-plattformen.
Cmdleten New-Service
skapar en ny post för en Windows-tjänst i registret och i tjänstdatabasen. En ny tjänst kräver en körbar fil som körs under tjänsten.
Med parametrarna i den här cmdleten kan du ange visningsnamn, beskrivning, starttyp och beroenden för tjänsten.
Exempel
Exempel 1: Skapa en tjänst
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
Det här kommandot skapar en tjänst med namnet TestService.
Exempel 2: Skapa en tjänst som innehåller beskrivning, starttyp och visningsnamn
$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
Det här kommandot skapar en tjänst med namnet TestService. Den använder parametrarna New-Service
för för att ange en beskrivning, starttyp och visningsnamn för den nya tjänsten.
Exempel 3: Visa den nya tjänsten
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Det här kommandot använder Get-CimInstance
för att hämta Win32_Service-objektet för den nya tjänsten. Det här objektet innehåller startläget och tjänstbeskrivningen.
Exempel 4: Ange SecurityDescriptor för en tjänst när du skapar.
Det här exemplet lägger till SecurityDescriptor för tjänsten som skapas.
$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
SecurityDescriptor lagras i variabeln$SDDLToSet
. Parametern SecurityDescriptorSddl använder $SDDL
för att ange SecurityDescriptor för den nya tjänsten.
Parametrar
-BinaryPathName
Anger sökvägen till den körbara filen för tjänsten. Den här parametern krävs.
Den fullständigt kvalificerade sökvägen till tjänstens binära fil. Om sökvägen innehåller ett blanksteg måste den citeras så att den tolkas korrekt. Du bör till exempel d:\my share\myservice.exe
ange som '"d:\my share\myservice.exe"'
.
Sökvägen kan också innehålla argument för en automatisk starttjänst. Exempel: '"d:\my share\myservice.exe" arg1 arg2'
Dessa argument skickas till tjänstens startpunkt.
Mer information finns i parametern lpBinaryPathName för CreateServiceW API.
Typ: | String |
Alias: | Path |
Position: | 1 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Anger det konto som används av tjänsten som tjänstinloggningskonto.
Ange ett användarnamn, till exempel User01 eller Domain01\User01, eller ange ett PSCredential-objekt , till exempel ett som genereras av cmdleten Get-Credential
. Om du skriver ett användarnamn uppmanas du att ange ett lösenord i den här cmdleten.
Autentiseringsuppgifter lagras i ett PSCredential-objekt och lösenordet lagras som en SecureString.
Kommentar
Mer information om SecureString-dataskydd finns i Hur säker är SecureString?.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DependsOn
Anger namnen på andra tjänster som den nya tjänsten är beroende av. Om du vill ange flera tjänstnamn använder du ett kommatecken för att avgränsa namnen.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Description
Anger en beskrivning av tjänsten.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DisplayName
Anger ett visningsnamn för tjänsten.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Name
Anger namnet på tjänsten. Den här parametern krävs.
Typ: | String |
Alias: | ServiceName |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-SecurityDescriptorSddl
Anger SecurityDescriptor för tjänsten i Sddl-format .
Typ: | String |
Alias: | sd |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-StartupType
Anger starttypen för tjänsten. De acceptabla värdena för den här parametern är:
- Automatisk – Tjänsten startas eller startades av operativsystemet vid systemstart. Om en automatiskt startad tjänst är beroende av en manuellt startad tjänst startas även den manuellt startade tjänsten automatiskt vid systemstart.
- AutomaticDelayedStart – startar strax efter att systemet startar.
- Inaktiverad – Tjänsten är inaktiverad och kan inte startas av en användare eller ett program.
- InvalidValue – det här värdet stöds inte. Om du använder det här värdet uppstår ett fel.
- Manuell – Tjänsten startas endast manuellt, av en användare, med hjälp av Service Control Manager eller av ett program.
Standardvärdet är Automatisk.
Typ: | ServiceStartupType |
Godkända värden: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Position: | Named |
Standardvärde: | Automatic |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
None
Du kan inte skicka objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar ett objekt som representerar den nya tjänsten.
Kommentarer
Den här cmdleten är endast tillgänglig på Windows-plattformar.
Om du vill köra den här cmdleten startar du PowerShell med alternativet Kör som administratör .