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>]
FilterParameterSet
Suspend-Job
[-Filter] <Hashtable>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
StateParameterSet
Suspend-Job
[-State] <JobState>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InstanceIdParameterSet
Suspend-Job
[-InstanceId] <Guid[]>
[-Force]
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
NameParameterSet
Suspend-Job
[-Name] <String[]>
[-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 před získáním úlohy počkat na dokončení pozastavení, použijte parametr
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
The first command creates the Get-SystemLog workflow. The workflow uses the CheckPoint-Workflow activity to define a checkpoint in the workflow.
#Sample WorkflowWorkflow Get-SystemLog
{
$Events = Get-WinEvent -LogName System
CheckPoint-Workflow
InlineScript {\\Server01\Scripts\Analyze-SystemEvents.ps1 -Events $Events}
}
The second command uses the *AsJob* parameter that is common to all workflows to run the Get-SystemLog workflow as a background job. The command uses the *JobName* workflow common parameter to specify a friendly name for the workflow job.
PS C:\> Get-SystemLog -AsJob -JobName "Get-SystemLogJob"
The third command uses the **Get-Job** cmdlet to get the Get-SystemLogJob workflow job. The output shows that the value of the **PSJobTypeName** property is PSWorkflowJob.
PS C:\> Get-Job -Name Get-SystemLogJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Get-SystemLogJob PSWorkflowJob Running True localhost Get-SystemLog
The fourth command uses the **Suspend-Job** cmdlet to suspend the Get-SystemLogJob job. The job runs to the checkpoint and then suspends.
PS C:\> Suspend-Job -Name Get-SystemLogJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 Get-SystemLogJob PSWorkflowJob Suspended True localhost Get-SystemLog
Tento příklad ukazuje, jak pozastavit úlohu pracovního postupu.
Příklad 2: Pozastavení a obnovení úlohy pracovního postupu
The first command suspends the LogWorkflowJob job.The command returns immediately. The output shows that the workflow job is still running, even though it is being suspended.
PS C:\> Suspend-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
The second command uses the **Get-Job** cmdlet to get the LogWorkflowJob job. The output shows that the workflow job suspended successfully.
PS C:\> Get-Job -Name LogWorkflowJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Suspended True localhost LogWorkflow
The third command uses the **Get-Job** cmdlet to get the LogWorkflowJob job and the Resume-Job cmdlet to resume it. The output shows that the workflow job resumed successfully and is now running.
PS C:\> Get-Job -Name LogWorkflowJob | Resume-Job
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
67 LogflowJob PSWorkflowJob Running True localhost LogWorkflow
Tento příklad ukazuje, jak pozastavit a obnovit úlohu pracovního postupu.
Příklad 3: Pozastavení úlohy pracovního postupu ve vzdáleném počítači
PS C:\> 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
PS C:\> 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
PS C:\> 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í pozastavit úlohu 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é převést 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í
pozastavení úlohy pozastaví pouze úlohy pracovního postupu ve stavu Spuštěno.
Další informace o stavech úloh naleznete v tématu JobState – výčet v knihovně MSDN.
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í pozastavit úlohu 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 však pozastavit úlohu získá úlohu nepodporovaného typu, vrátí ukončující chybu.
Výstupy
Job
Tato rutina vrátí úlohy, které pozastavila.
Poznámky
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, pozastavit úlohu 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í, pozastavit úlohu 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í.