Set-Service
Spustí, zastaví a pozastaví službu a změní její vlastnosti.
Syntaxe
Set-Service
[-Name] <String>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-Status <String>]
[-SecurityDescriptorSddl <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-Service
[-InputObject] <ServiceController>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-SecurityDescriptorSddl <String>]
[-Status <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Tato rutina je dostupná jenom na platformě Windows.
Rutina Set-Service
změní vlastnosti služby, jako je Stav, Popis, DisplayNamea StartupType.
Set-Service
může službu spustit, zastavit, pozastavit nebo přerušit. Pokud chcete identifikovat službu, zadejte její název služby nebo odešlete objekt služby. Nebo odešlete název služby nebo objekt služby po kanálu do Set-Service
.
Příklady
Příklad 1: Změna zobrazovaného názvu
V tomto příkladu se změní zobrazovaný název služby. Chcete-li zobrazit původní zobrazovaný název, použijte Get-Service
.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
pomocí parametru Name určuje název služby LanmanWorkstation. Parametr DisplayName určuje nový zobrazovaný název, LanMan pracovní stanice.
Příklad 2: Změna typu spouštění služeb
Tento příklad ukazuje, jak změnit typ spuštění služby.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic Running
Set-Service
používá parametr Name k určení názvu služby BITS. Parametr StartupType nastaví službu na Automatické.
Get-Service
pomocí parametru Name určí službu BITS a odešle objekt do potrubí.
Select-Object
používá parametr vlastnosti ke zobrazení stavu služby BITS.
Příklad 3: Změna popisu služby
Tento příklad změní popis služby BITS a zobrazí výsledek.
Cmdlet Get-CimInstance
je používán, protože vrací objekt Win32_Service, který obsahuje popis služby .
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
disabled, then any applications that depend on BITS, such as Windows Update or MSN
Explorer, will be unable to automatically download programs and other information.
Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth.
Get-CimInstance
odešle objekt skrz potrubí do Format-List
a zobrazí název a popis služby. Pro účely porovnání se příkaz spustí před a po aktualizaci popisu.
Set-Service
používá parametr Name k určení služby BITS. Parametr Description určuje aktualizovaný text popisu služeb.
Příklad 4: Spuštění služby
V tomto příkladu se spustí služba.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...
Set-Service
používá parametr název k určení služby WinRM. Parametr Stav používá hodnotu Spuštěno ke spuštění služby. Parametr PassThru generuje objekt ServiceController, který zobrazuje výsledky.
Příklad 5: Pozastavení služby
Tento příklad používá kanál k pozastavení služby.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
pomocí parametru Name určí službu Schedule a odešle objekt do kanálu.
Set-Service
pomocí parametru stavu nastaví službu na Pozastaveno.
Příklad 6: Zastavení služby
Tento příklad používá proměnnou k zastavení služby.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service
používá parametr název k určení služby, harmonogram . Objekt je uložen v proměnné $S
.
Set-Service
používá parametr InputObject a určuje objekt uložený $S
. Parametr Stav nastaví službu na Zastaveno.
Příklad 7: Zastavení služby ve vzdáleném systému
Tento příklad zastaví službu ve vzdáleném počítači. Další informace naleznete v tématu Invoke-Command.
$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
Set-Service -InputObject $S -Status Stopped
}
Get-Credential
zobrazí výzvu k zadání uživatelského jména a hesla a uloží přihlašovací údaje do proměnné $Cred
.
Get-Service
pomocí parametru Name určuje službu Schedule. Objekt je uložen v proměnné $S
.
Invoke-Command
k určení vzdáleného počítače používá parametr ComputerName. Parametr přihlašovacích údajů používá proměnnou $Cred
k přihlášení k počítači.
ScriptBlock volá Set-Service
. Parametr InputObject určuje objekt služby uložený $S
. Parametr Stav nastaví službu na Zastaveno.
Příklad 8: Změna přihlašovacích údajů služby
Tento příklad změní přihlašovací údaje, které se používají ke správě služby.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential
zobrazí výzvu k zadání uživatelského jména a hesla a uloží přihlašovací údaje do proměnné $credential
.
Set-Service
pomocí parametru Name určuje službu Schedule. Parametr přihlašovacích údajů používá proměnnou $credential
a aktualizuje službu Schedule.
Příklad 9: Změna popisovače SecurityDescriptor služby
Tento příklad změní SecurityDescriptor služby.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
SecurityDescriptor je uložen v proměnné $SDDL
.
Set-Service
používá parametr Name k určení služby BITS. Parametr SecurityDescriptorSddl používá $SDDL
k úpravě SecurityDescriptor pro službu BITS.
Příklad 10: Nastavení typu spuštění pro více služeb
Rutina Set-Service
přijímá pouze jeden název služby najednou. Můžete však směrovat více služeb do Set-Service
a změnit tak konfiguraci více služeb.
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter Automatic
Parametry
-Confirm
Před spuštěním Set-Service
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 účet pro přihlášení 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?.
Tento parametr byl představen v PowerShellu 6.0.
Typ: | PSCredential |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Description
Určuje nový popis služby.
Popis služby se zobrazí v Správa počítače, Služby. Popis není vlastností objektu Get-Service
ServiceController. Pokud chcete zobrazit popis služby, použijte Get-CimInstance
, který vrací Win32_Service objekt, který představuje službu.
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 nový zobrazovaný název služby.
Poznámka
Obvykle Set-Service
funguje jenom na službách Systému Windows, nikoli na ovladačích. Pokud však zadáte název ovladače, Set-Service
může cílit na ovladač.
Typ: | String |
Aliasy: | DN |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Force
Určuje režim zastavení služby. Tento parametr funguje pouze při použití -Status Stopped
. Pokud je tato možnost povolená, Set-Service
zastaví závislé služby před zastavením cílové služby. Ve výchozím nastavení jsou výjimky vyvolány, když ostatní spuštěné služby závisí na cílové službě.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-InputObject
Určuje ServiceController objekt, který představuje službu, která se má změnit. Zadejte proměnnou, která obsahuje objekt, nebo zadejte příkaz nebo výraz, který objekt získá, například příkaz Get-Service
. Kanál můžete použít k odeslání objektu služby do Set-Service
.
Typ: | ServiceController |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Name
Určuje název služby, která se má změnit. Zástupné znaky nejsou povolené. Kanál můžete použít k odeslání názvu služby do Set-Service
.
Poznámka
Obvykle Set-Service
funguje jenom na službách Systému Windows, nikoli na ovladačích. Pokud však zadáte název ovladače, Set-Service
může cílit na ovladač.
Typ: | String |
Aliasy: | ServiceName, SN |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-PassThru
Vrátí ServiceController objekt, který představuje služby, které byly změněny. Ve výchozím nastavení Set-Service
negeneruje žádný výstup.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-SecurityDescriptorSddl
Určuje SecurityDescriptor pro službu ve formátu Sddl. Účet volající Set-Service
s tímto parametrem musí mít oprávnění WRITE_DAC a WRITE_OWNER. Další informace najdete v tématu Zabezpečení služby a přístupová práva.
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
Určuje režim spuštění služby.
Přijatelné hodnoty pro tento parametr jsou následující:
- 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 – nemá žádný vliv. Rutina nevrátí chybu, ale StartupType služby se nezmění.
- Ruční – služba se spouští pouze ručně, uživatelem, pomocí Správce řízení služeb nebo aplikací.
Typ: | ServiceStartupType |
Aliasy: | StartMode, SM, ST, StartType |
Přípustné hodnoty: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Status
Určuje stav služby.
Přijatelné hodnoty pro tento parametr jsou následující:
- Pozastaveno. Pozastaví službu.
- Běží. Spustí službu.
- zastaveno. Zastaví službu.
Typ: | String |
Přípustné hodnoty: | Paused, Running, Stopped |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-WhatIf
Ukazuje, co by se stalo, když se Set-Service
spustí. Cmdlet 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
Objekt služby můžete do této rutiny převést.
Do tohoto příkazu můžete předat řetězec obsahující název služby.
Výstupy
None
Ve výchozím nastavení tato rutina nevrací žádný výstup.
Použitím parametru PassThru tato rutina vrátí objekt ServiceController.
Poznámky
Tento cmdlet je dostupný jenom na platformách Windows.
Set-Service
vyžaduje zvýšená oprávnění. Použijte možnost Spustit jako správce.
Set-Service
může řídit pouze služby, pokud má aktuální uživatel oprávnění ke správě služeb. Pokud příkaz nefunguje správně, možná nemáte požadovaná oprávnění.
Pokud chcete najít název služby nebo zobrazovaný název služby, použijte Get-Service
. Názvy služeb jsou ve sloupci Název a zobrazované názvy jsou ve sloupci DisplayName.