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

ServiceController

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 .