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. Používá parametry New-Service
k určení popisu, typu spuštění a zobrazovaného názvu 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á 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 proměnné $SDDLToSet
. 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
je třeba zadat 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 najdete v parametru lpBinaryPathName rozhraní API CreateService W.
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 vás vyzve 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ý rutinou Get-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 najdete 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 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. Přijatelné hodnoty pro tento parametr jsou:
- Automatické – 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 se spouští 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
Ukazuje, co se stane, když se rutina spustí. Rutina se nespustí.
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
Tato rutina je dostupná jenom na platformách Windows.
Pokud chcete tuto rutinu spustit, spusťte PowerShell pomocí možnosti Spustit jako správce.