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