Suspend-Job
Dočasně zastaví úlohy pracovního postupu.
Syntax
SessionIdParameterSet (Výchozí)
Suspend-Job
[-Id] <Int32[]>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
JobParameterSet
Suspend-Job
[-Job] <Job[]>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Suspend-Job
[-Name] <String[]>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Suspend-Job
[-InstanceId] <Guid[]>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
FilterParameterSet
Suspend-Job
[-Filter] <Hashtable>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Suspend-Job
[-State] <JobState>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Suspend-Job pozastaví úlohy pracovního postupu. Pozastavení znamená dočasné přerušení nebo pozastavení úlohy pracovního postupu. Tato rutina umožňuje uživatelům, kteří spouští pracovní postupy, pozastavit pracovní postup. Doplňuje aktivitu pozastavení pracovního postupuhttps://go.microsoft.com/fwlink/?LinkId=267141, což je příkaz v pracovním postupu, který pracovní postup pozastaví.
Rutina Suspend-Job funguje jenom u úloh pracovního postupu. Nefunguje na standardních úlohách na pozadí, jako jsou úlohy, které jsou spuštěny pomocí rutiny Start-Job.
Chcete-li identifikovat úlohu pracovního postupu, vyhledejte hodnotu PSWorkflowJob v PSJobTypeName vlastnost úlohy. Pokud chcete zjistit, jestli konkrétní vlastní typ úlohy podporuje rutinu Suspend-Job, přečtěte si témata nápovědy pro vlastní typ úlohy.
Když pozastavíte úlohu pracovního postupu, úloha pracovního postupu se spustí na další kontrolní bod, pozastaví a okamžitě vrátí objekt úlohy pracovního postupu. Pokud chcete počkat na dokončení pozastavení před získáním úlohy, použijte parametr WaitSuspend-Job nebo rutinu Wait-Job. Při pozastavení úlohy pracovního postupu je hodnota vlastnosti State úlohy pozastavena.
Správné pozastavení závisí na kontrolních bodech. Aktuální stav úlohy, metadata a výstup jsou uloženy do kontrolního bodu, aby bylo možné obnovit úlohu pracovního postupu bez ztráty stavu nebo dat. Pokud úloha pracovního postupu nemá kontrolní body, nelze ji správně pozastavit. Pokud chcete přidat kontrolní body do spuštěného pracovního postupu, použijte společný parametr PSPersist pracovního postupu. Pomocí parametru Force můžete okamžitě pozastavit jakoukoli úlohu pracovního postupu a pozastavit úlohu pracovního postupu, která nemá kontrolní body, ale akce může způsobit ztrátu stavu a dat.
Než použijete rutinu Job pro vlastní typ úlohy, například úlohu pracovního postupu (PSWorkflowJob) importujte modul, který podporuje vlastní typ úlohy, buď pomocí rutiny Import-Module, nebo pomocí rutiny v modulu.
Tato rutina byla zavedena ve Windows PowerShellu 3.0.
Příklady
Příklad 1: Pozastavení úlohy pracovního postupu podle názvu
Tento příklad ukazuje, jak pozastavit úlohu pracovního postupu.
První příkaz vytvoří pracovní postup Get-SystemLog. Pracovní postup používá aktivitu CheckPoint-Workflow k definování kontrolního bodu v pracovním postupu.
Druhý příkaz používá parametr AsJob, který je společný pro všechny pracovní postupy ke spuštění pracovního postupu Get-SystemLog jako úlohy na pozadí. Příkaz používá společný parametr JobName pracovního postupu k zadání popisného názvu úlohy pracovního postupu.
Třetí příkaz používá rutinu Get-Job k získání úlohy pracovního postupu LogflowJob. Výstup ukazuje, že hodnota PSJobTypeName vlastnost je PSWorkflowJob.
Čtvrtý příkaz používá rutinu Suspend-Job k pozastavení LogflowJob úlohy. Úloha se spustí na kontrolní bod a pak se pozastaví.
#Sample Workflow
workflow Get-SystemLog
{
$Events = Get-WinEvent -LogName System
CheckPoint-Workflow
inlinescript {\\Server01\Scripts\Analyze-SystemEvents.ps1 -Events $Events}
}
Get-SystemLog -AsJob -JobName "LogflowJob"
Get-Job -Name LogflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 LogflowJob PSWorkflowJob Running True localhost Get-SystemLog
Suspend-Job -Name LogflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 LogflowJob PSWorkflowJob Suspended True localhost Get-SystemLog
Příklad 2: Pozastavení a obnovení úlohy pracovního postupu
Tento příklad ukazuje, jak pozastavit a obnovit úlohu pracovního postupu.
První příkaz pozastaví úlohu LogWorkflowJob. Příkaz se vrátí okamžitě. Výstup ukazuje, že úloha pracovního postupu je stále spuštěná, i když je pozastavená.
Druhý příkaz používá rutinu Get-Job k získání úlohy LogWorkflowJob. Výstup ukazuje, že úloha pracovního postupu byla úspěšně pozastavena.
Třetí příkaz používá rutinu Get-Job k získání úlohy LogWorkflowJob a rutiny Resume-Job k jeho obnovení. Výstup ukazuje, že úloha pracovního postupu byla úspěšně obnovena a nyní je spuštěná.
Suspend-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
Get-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Suspended True localhost LogWorkflow
Get-Job -Name LogWorkflowJob | Resume-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
Příklad 3: Pozastavení úlohy pracovního postupu ve vzdáleném počítači
Invoke-Command -ComputerName Srv01 -ScriptBlock {Suspend-Job -Filter @{CustomID="031589"}
Tento příkaz používá rutinu Invoke-Command k pozastavení úlohy pracovního postupu ve vzdáleném počítači Srv01. Hodnota parametru Filter je hodnota hash, která určuje hodnotu CustomID.
Tento customID je metadata úloh (PSPrivateMetadata).
Příklad 4: Čekání na pozastavení úlohy pracovního postupu
Suspend-Job VersionCheck -Wait
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
5 VersionCheck PSWorkflowJob Suspended True localhost LogWorkflow
Tento příkaz pozastaví úlohu pracovního postupu VersionCheck. Příkaz používá parametr Wait k čekání na pozastavení úlohy pracovního postupu. Když se úloha pracovního postupu spustí na další kontrolní bod a je pozastavená, příkaz se dokončí a vrátí objekt úlohy.
Příklad 5: Vynucení pozastavení úlohy pracovního postupu
Suspend-Job Maintenance -Force
Tento příkaz pozastaví úlohu pracovního postupu údržby vynuceně. Úloha údržby nemá kontrolní body. Nelze jej správně pozastavit a nemusí být správně obnoven.
Parametry
-Confirm
Před spuštěním cmdletu vás vyzve k potvrzení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | viz |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Filter
Určuje tabulku hodnot hash podmínek. Tato rutina pozastaví úlohy, které splňují všechny podmínky. Zadejte tabulku hash, kde klíče jsou vlastnosti úlohy a hodnoty jsou hodnoty vlastností úlohy.
Vlastnosti parametru
| Typ: | Hashtable |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
FilterParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Force
Pozastaví úlohu pracovního postupu okamžitě. Tato akce může způsobit ztrátu stavu a dat.
Ve výchozím nastavení Suspend-Job umožňuje úlohu pracovního postupu spustit až do dalšího kontrolního bodu a pak ji pozastaví.
Tento parametr můžete také použít k pozastavení úloh pracovního postupu, které nemají kontrolní body.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | F |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Id
Určuje ID úloh, které tato rutina pozastaví.
ID je celé číslo, které jednoznačně identifikuje úlohu v aktuální relaci. Je jednodušší zapamatovat a zadat než ID instance, ale je jedinečné pouze v aktuální relaci. Můžete zadat jedno nebo více ID oddělených čárkami. K vyhledání ID úlohy použijte rutinu Get-Job.
Vlastnosti parametru
| Typ: | Int32[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
SessionIdParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-InstanceId
Určuje ID instancí úloh, které tato rutina pozastaví. Výchozí nastavení zahrnuje všechny úlohy.
ID instance je identifikátor GUID, který jednoznačně identifikuje úlohu v počítači. K vyhledání ID instance úlohy použijte Get-Job.
Vlastnosti parametru
| Typ: | Guid[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
InstanceIdParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Job
Určuje úlohy pracovního postupu, které tato rutina zastaví. Zadejte proměnnou, která obsahuje úlohy pracovního postupu, nebo příkaz, který získá úlohy pracovního postupu. Úlohy pracovního postupu můžete také pipetovat do rutiny Suspend-Job.
Vlastnosti parametru
| Typ: | Job[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
JobParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Name
Určuje popisné názvy úloh, které tato rutina pozastaví. Zadejte jeden nebo více názvů úloh pracovního postupu. Zástupné znaky jsou podporovány.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
NameParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-State
Určuje stav úlohy. Tato rutina zastaví pouze úlohy v zadaném stavu. Přijatelné hodnoty pro tento parametr jsou:
- Nezahájeno
- Běhání
- Dokončeno
- Neúspěšné
- Zastavený
- Blokované
- Pozastavený
- Nesouvislý
- Pozastavení
- Zastavování
Suspend-Job pozastaví pouze úlohy pracovního postupu ve stavu Spuštěno.
Další informace o stavech úloh viz JobState.
Vlastnosti parametru
| Typ: | JobState |
| Default value: | None |
| Přípustné hodnoty: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
StateParameterSet
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Wait
Označuje, že tato rutina potlačí příkazový řádek, dokud úloha pracovního postupu není v pozastaveném stavu. Ve výchozím nastavení Suspend-Job vrátí okamžitě, i když úloha pracovního postupu ještě není v pozastaveném stavu.
Parametr Wait odpovídá propojení příkazu Suspend-Job do rutiny Wait-Job.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-WhatIf
Ukazuje, co se stane, když se příkaz spustí. Příkazový modul nebyl spuštěn.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Wi |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
Job
Do této rutiny můžete převést všechny typy úloh. Pokud ale Suspend-Job získá úlohu nepodporovaného typu, vrátí ukončující chybu.
Výstupy
Job
Tato rutina vrátí úlohy, které pozastavila.
Poznámky
Windows PowerShell obsahuje následující aliasy pro Suspend-Job:
sujb
Mechanismus a umístění pro uložení pozastavené úlohy se může lišit v závislosti na typu úlohy. Například pozastavené úlohy pracovního postupu se ve výchozím nastavení ukládají do plochého úložiště souborů, ale dají se také uložit do databáze.
Pokud odešlete úlohu pracovního postupu, která není ve spuštěném stavu, Suspend-Job zobrazí zprávu s upozorněním. Chcete-li potlačit upozornění, použijte WarningAction společný parametr s hodnotou SilentlyContinue.
Pokud úloha není typu, který podporuje pozastavení, Suspend-Job vrátí ukončující chybu.
Pokud chcete najít úlohy pracovního postupu, které jsou pozastavené, včetně úloh pozastavených touto rutinou, použijte parametr State rutiny Get-Job a získejte úlohy pracovního postupu v pozastaveném stavu.
Některé typy úloh mají možnosti nebo vlastnosti, které brání pozastavení úlohy v prostředí Windows PowerShell. Pokud se pokusí pozastavit úlohu, ověřte, že možnosti a vlastnosti úlohy umožňují pozastavení.