Share via


New-Service

Skapar en ny Windows-tjänst.

Syntax

New-Service
   [-Name] <String>
   [-BinaryPathName] <String>
   [-DisplayName <String>]
   [-Description <String>]
   [-StartupType <ServiceStartMode>]
   [-Credential <PSCredential>]
   [-DependsOn <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

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: Ta bort en tjänst

sc.exe delete TestService
# - or -
(Get-CimInstance -Class Win32_Service -Filter "name='TestService'").delete()

Det här exemplet visar två sätt att ta bort TestService-tjänsten. Det första kommandot använder borttagningsalternativet Sc.exe. Det andra kommandot använder metoden Ta bort för de Win32_Service objekt som Get-CimInstance returneras.

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
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

-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.
  • Inaktiverad – Tjänsten är inaktiverad och kan inte startas av en användare eller ett program.
  • Manuell – Tjänsten startas endast manuellt, av en användare, med hjälp av Service Control Manager eller av ett program.
  • Start – Anger att tjänsten är en enhetsdrivrutin som startas av systeminläsaren. Det här värdet är endast giltigt för enhetsdrivrutiner.
  • System – Anger att tjänsten är en enhetsdrivrutin som startas av funktionen "IOInitSystem()". Det här värdet är endast giltigt för enhetsdrivrutiner.

Standardvärdet är Automatisk.

Type:ServiceStartMode
Accepted values:Boot, System, Automatic, Manual, Disabled
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

Om du vill köra den här cmdleten startar du PowerShell med alternativet Kör som administratör .

Om du vill ta bort en tjänst använder du Sc.exe eller använder cmdleten Get-CimInstance för att hämta det Win32_Service objekt som representerar tjänsten och sedan använda metoden Ta bort för att ta bort tjänsten. Objektet som Get-Service returnerar har ingen borttagningsmetod.