Dela via


New-Service

Skapar en ny Windows-tjänst.

Syntax

Default (Standard)

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 för New-Service 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 objektet Win32_Service 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. Till exempel bör D:\my share\myservice.exe anges som '"D:\my share\myservice.exe"'.

Sökvägen kan också innehålla argument för en automatisk starttjänst. Till 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.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Väg

Parameteruppsättningar

(All)
Position:1
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anger det konto som används av tjänsten som -tjänstinloggningskontot.

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

Anmärkning

Mer information om SecureString dataskydd finns i Hur säker är SecureString?.

Parameteregenskaper

Typ:PSCredential
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Description

Anger en beskrivning av tjänsten.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-DisplayName

Anger ett visningsnamn för tjänsten.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Name

Anger namnet på tjänsten. Den här parametern krävs.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Tjänstenamn

Parameteruppsättningar

(All)
Position:0
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-SecurityDescriptorSddl

Anger SecurityDescriptor- för tjänsten i Sddl- format.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Sd

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-StartupType

Anger starttypen för tjänsten. De godtagbara 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 startas.
  • 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.

Parameteregenskaper

Typ:ServiceStartupType
Standardvärde:Automatic
Godkända värden:Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

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.