Sdílet prostřednictvím


New-Service

Vytvoří novou službu systému Windows.

Syntaxe

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

Description

Tato rutina je dostupná jenom na platformě Windows.

Rutina New-Service vytvoří novou položku pro službu systému Windows v registru a v databázi služby. Nová služba vyžaduje spustitelný soubor, který běží během této služby.

Parametry této rutiny umožňují nastavit zobrazovaný název, popis, typ spuštění a závislosti služby.

Příklady

Příklad 1: Vytvoření služby

New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'

Tento příkaz vytvoří službu s názvem TestService.

Příklad 2: Vytvoření služby, která obsahuje popis, typ spuštění a zobrazovaný název

$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

Tento příkaz vytvoří službu s názvem TestService. Pomocí parametrů New-Service určuje popis, typ spuštění a zobrazovaný název nové služby.

Příklad 3: Zobrazení nové služby

Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"

ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

Tento příkaz používá Get-CimInstance k získání objektu Win32_Service pro novou službu. Tento objekt obsahuje režim spuštění a popis služby.

Příklad 4: Nastavení popisovače SecurityDescriptor služby při vytváření

Tento příklad přidá Popisovač SecurityDescriptor vytvářené služby.

$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 je uložen v $SDDLToSet proměnné. Parametr SecurityDescriptorSddl používá $SDDL k nastavení SecurityDescriptor nové služby.

Parametry

-BinaryPathName

Určuje cestu spustitelného souboru pro službu. Tento parametr je povinný.

Plně kvalifikovaná cesta k binárnímu souboru služby. Pokud cesta obsahuje mezeru, musí být uvozována tak, aby byla správně interpretována. Například d:\my share\myservice.exe by mělo být zadáno jako '"d:\my share\myservice.exe"'.

Cesta může také obsahovat argumenty pro službu automatického spuštění. Například '"d:\my share\myservice.exe" arg1 arg2'. Tyto argumenty se předávají vstupnímu bodu služby.

Další informace naleznete v lpBinaryPathName parametr CreateServiceW API.

Typ:String
Aliasy:Path
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Credential

Určuje účet používaný službou jako přihlašovací účet služby.

Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential, například objekt vygenerovaný rutinouGet-Credential. Pokud zadáte uživatelské jméno, tato rutina vás vyzve k zadání hesla.

Přihlašovací údaje jsou uloženy v objektu PSCredential a heslo je uloženo jako SecureString.

Poznámka:

Další informace o ochraně dat SecureString naleznete v tématu Jak zabezpečený je SecureString?.

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DependsOn

Určuje názvy dalších služeb, na kterých nová služba závisí. Pokud chcete zadat více názvů služeb, oddělte názvy čárkami.

Typ:String[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Description

Určuje popis služby.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DisplayName

Určuje zobrazovaný název služby.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Name

Určuje název služby. Tento parametr je povinný.

Typ:String
Aliasy:ServiceName
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SecurityDescriptorSddl

Určuje Popisovač SecurityDescriptor pro službu ve formátu Sddl .

Typ:String
Aliasy:sd
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-StartupType

Nastaví typ spuštění služby. Tento parametr přijímá tyto hodnoty:

  • Automaticky – Služba je spuštěna nebo byla spuštěna operačním systémem při spuštění systému. Pokud automaticky spuštěná služba závisí na ručně spuštěné službě, spustí se při spuštění systému automaticky také ručně spuštěná služba.
  • AutomaticDelayedStart – spustí se krátce po spuštění systému.
  • Zakázáno – Služba je zakázaná a uživatel nebo aplikace ji nemůže spustit.
  • InvalidValue – Tato hodnota není podporována. Při použití této hodnoty dojde k chybě.
  • Ruční – Služba je spuštěna pouze ručně, uživatelem, pomocí Správce řízení služeb nebo aplikací.

Výchozí hodnota je Automatická.

Typ:ServiceStartupType
Přípustné hodnoty:Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue
Position:Named
Default value:Automatic
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

None

Do této rutiny nemůžete roušit objekty.

Výstupy

ServiceController

Tato rutina vrátí objekt představující novou službu.

Poznámky

Tato rutina je dostupná jenom na platformách Windows.

Pokud chcete tuto rutinu spustit, spusťte PowerShell pomocí možnosti Spustit jako správce .