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-objektetfö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.
Type: | String |
Aliases: | Path |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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?.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Anger en beskrivning av tjänsten.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Anger ett visningsnamn för tjänsten.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Anger namnet på tjänsten. Den här parametern krävs.
Type: | String |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SecurityDescriptorSddl
Anger SecurityDescriptor för tjänsten i Sddl-format .
Type: | String |
Aliases: | sd |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | Microsoft.PowerShell.Commands.ServiceStartupType |
Accepted values: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Position: | Named |
Default value: | Automatic |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 .
Relaterade länkar
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för