Sdílet prostřednictvím


Start-Service

Spustí jednu nebo více zastavených služeb.

Syntaxe

Start-Service
     [-InputObject] <ServiceController[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-Name] <String[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-PassThru]
     -DisplayName <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Description

Rutina Start-Service odešle úvodní zprávu kontroleru služeb systému Windows pro každou ze zadaných služeb. Pokud už je služba spuštěná, zpráva se ignoruje bez chyby. Služby můžete zadat podle jejich názvů služeb nebo zobrazovaného názvu, nebo můžete použít parametr InputObject k poskytnutí objektu služby, který představuje služby, které chcete spustit.

Příklady

Příklad 1: Spuštění služby pomocí jejího názvu

Tento příklad spustí službu EventLog na místním počítači. Parametr Name identifikuje službu podle názvu služby.

Start-Service -Name "eventlog"

Příklad 2: Zobrazení informací bez spuštění služby

Tento příklad ukazuje, co by se stalo, když jste spustili služby, které mají zobrazovaný název, který obsahuje "remote".

Start-Service -DisplayName *remote* -WhatIf

Parametr DisplayName identifikuje služby podle jejich zobrazovaného názvu místo názvu služby. Parametr WhatIf způsobí, že rutina zobrazí, co by se stalo při spuštění příkazu, ale neprovádí změny.

Příklad 3: Spuštění služby a zaznamenání akce v textovém souboru

Tento příklad spustí službu WMI (Windows Management Instrumentation) v počítači a přidá záznam akce do services.txt souboru.

$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt

Nejprve použijeme Get-Service k získání objektu, který představuje službu WMI, a uložíme ho do proměnné $s. Dále spustíme službu. Bez parametru PassThruStart-Service nevytváří žádný výstup. Operátor kanálu (|) předá výstup objektu Start-Service rutině Format-List, aby objekt naformátovala jako seznam jeho vlastností. Operátor přesměrování připojení (>>) přesměruje výstup do souboru services.txt. Výstup se přidá na konec existujícího souboru.

Příklad 4: Spuštění zakázané služby

Tento příklad ukazuje, jak spustit službu, když je typ spuštění služby Zakázáno.

PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service  <<<< tlntsvr

PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode  : 0
Name      : TlntSvr
ProcessId : 0
StartMode : Disabled
State     : Stopped
Status    : OK

PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr

První pokus o spuštění služby Telnet (tlntsvr) selže. Příkaz Get-CimInstance ukazuje, že vlastnost StartMode služby Tlntsvr je Disabled. Rutina Set-Service změní typ spuštění na Ruční. Teď můžeme příkaz Start-Service znovu odeslat. Tentokrát příkaz proběhne úspěšně. Pokud chcete ověřit, že příkaz proběhl úspěšně, spusťte Get-Service.

Parametry

-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

-DisplayName

Určuje zobrazované názvy služeb, které se mají spustit. Jsou povoleny zástupné znaky.

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

-Exclude

Určuje služby, které tato rutina vynechá. Hodnota tohoto parametru kvalifikuje parametr Name. Zadejte element nebo vzor názvu, například s*. Jsou povoleny zástupné znaky.

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

-Include

Určuje služby, které tato rutina spustí. Hodnota tohoto parametru kvalifikuje parametr Name. Zadejte element nebo vzor názvu, například s*. Jsou povoleny zástupné znaky.

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

-InputObject

Určuje ServiceController objekty představující služby, které se mají spustit. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá.

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ázvy služeb, které se mají spustit.

Název parametru je volitelný. Můžete použít Název nebo jeho alias, ServiceNamenebo můžete vynechat název parametru.

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

-PassThru

Vrátí objekt, který představuje službu. Ve výchozím nastavení tato rutina negeneruje žádný výstup.

Typ:SwitchParameter
Position:Named
Default value:None
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

System.ServiceProcess.ServiceController, System.String

Objekty, které představují služby nebo řetězce, které obsahují názvy služeb pro tuto rutinu, můžete pipetovat.

Výstupy

None, System.ServiceProcess.ServiceController

Tato rutina vygeneruje System.ServiceProcess.ServiceController objekt, který představuje službu, pokud zadáte PassThru. Jinak tato rutina negeneruje žádný výstup.

Poznámky

  • Můžete také odkazovat na Start-Service jeho předdefinovaný alias sasv. Další informace naleznete v tématu about_Aliases.
  • Start-Service může řídit služby pouze v případě, že má aktuální uživatel oprávnění k tomu. Pokud příkaz nefunguje správně, možná nemáte požadovaná oprávnění.
  • Chcete-li najít názvy služeb a zobrazované názvy služeb v systému, zadejte Get-Service. Názvy služeb se zobrazí ve sloupci Název a zobrazované názvy se zobrazí ve sloupci DisplayName.
  • Můžete spustit pouze služby, které mají typ spuštění Ruční, Automatické nebo Automatické (Zpožděné spuštění). Služby, které mají typ Spuštění zakázáno, nelze spustit. Pokud příkaz Start-Service selže se zprávou Cannot start service \<service-name\> on computer, pomocí Get-CimInstance vyhledejte typ spuštění služby a v případě potřeby změňte typ spuštění služby pomocí rutiny Set-Service.
  • Některé služby, jako jsou protokoly výkonu a výstrahy (SysmonLog), se automaticky zastaví, pokud nemají žádnou práci. Když PowerShell spustí službu, která se téměř okamžitě zastaví, zobrazí následující zprávu: Service \<display-name\> start failed.