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>]
   [-StartupType <ServiceStartMode>]
   [-Credential <PSCredential>]
   [-DependsOn <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

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: Odstranění služby

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

Tento příklad ukazuje dva způsoby odstranění služby TestService. První příkaz používá možnost odstranění parametru Sc.exe. Druhý příkaz používá metodu Delete Win32_Service objektů, které Get-CimInstance vrací.

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

-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.
  • Zakázáno – Služba je zakázaná a uživatel nebo aplikace ji nemůže spustit.
  • Ruční – Služba je spuštěna pouze ručně, uživatelem, pomocí Správce řízení služeb nebo aplikací.
  • Spuštění – Označuje, že služba je ovladač zařízení spuštěný zavaděčem systému. Tato hodnota je platná jenom pro ovladače zařízení.
  • Systém – Označuje, že služba je ovladač zařízení spuštěný funkcí IOInitSystem(). Tato hodnota je platná jenom pro ovladače zařízení.

Výchozí hodnota je Automatická.

Typ:ServiceStartMode
Přípustné hodnoty:Boot, System, Automatic, Manual, Disabled
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

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

Pokud chcete odstranit službu, použijte Sc.exe nebo pomocí Get-CimInstance rutiny získejte objekt Win32_Service , který představuje službu, a pak pomocí metody Delete odstraňte službu. Objekt, který Get-Service vrací, nemá metodu delete.