Resume-Job
Restartuje pozastavenou úlohu.
Syntaxe
Resume-Job
[-Wait]
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Job] <Job[]>
[-Wait]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-InstanceId] <Guid[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-State] <JobState>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Resume-Job
[-Wait]
[-Filter] <Hashtable>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Resume-Job
obnoví úlohu pracovního postupu, která byla pozastavena, například pomocí rutiny Suspend-Job
nebo aktivity about_Suspend pracovního postupu. Když se úloha pracovního postupu obnoví, modul úloh rekonstruuje stav, metadata a výstup z uložených prostředků, jako jsou kontrolní body. Úloha se restartuje bez ztráty stavu nebo dat.
Stav úlohy se změní z pozastavených na Spuštěno.
Pomocí parametrů Resume-Job
vyberte úlohy podle názvu, ID, ID instance nebo kanálu objektu úlohy, například úlohy vrácené rutinou Get-Job
, a Resume-Job
. Pomocí filtru vlastností můžete také vybrat úlohu, která se má obnovit.
Ve výchozím nastavení Resume-Job
vrátí okamžitě, i když všechny úlohy ještě nemusí být obnoveny. Chcete-li potlačit příkazový řádek, dokud nebudou obnoveny všechny zadané úlohy, použijte parametr Wait.
Rutina Resume-Job
funguje jenom u vlastních typů úloh, jako jsou úlohy pracovního postupu. Nefunguje na standardních úlohách na pozadí, jako jsou úlohy, které jsou spuštěny pomocí rutiny Start-Job
. Pokud odešlete úlohu nepodporovaného typu, Resume-Job
vygeneruje ukončující chybu a přestane běžet.
Pokud chcete identifikovat úlohu pracovního postupu, vyhledejte hodnotu PSWorkflowJob v PSJobTypeName vlastnosti úlohy. Pokud chcete zjistit, jestli konkrétní vlastní typ úlohy podporuje rutinu Resume-Job
, přečtěte si témata nápovědy pro vlastní typ úlohy.
Než použijete rutinu Job pro vlastní typ úlohy, naimportujte modul, který podporuje vlastní typ úlohy, buď pomocí rutiny Import-Module
, nebo získáním nebo použitím rutiny v modulu.
Tato rutina byla zavedena ve Windows PowerShellu 3.0.
Příklady
Příklad 1: Obnovení úlohy podle ID
Příkazy v tomto příkladu ověřují, že úloha je pozastavenou úlohou pracovního postupu, a pak úlohu obnovit. První příkaz k získání úlohy použije rutinu Get-Job
. Výstup ukazuje, že úloha je pozastavená úloha pracovního postupu. Druhý příkaz pomocí parametru ID rutiny Resume-Job
obnoví úlohu s ID hodnotou 4.
PS C:\> Get-Job EventJob
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
4 EventJob PSWorkflowJob Suspended True Server01 \\Script\Share\Event.ps1
PS C:\> Resume-Job -Id 4
Příklad 2: Obnovení úlohy podle názvu
Tento příkaz používá parametr Name k obnovení několika úloh pracovního postupu v místním počítači.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
Příklad 3: Použití hodnot vlastních vlastností
Tento příkaz používá hodnotu vlastní vlastnosti k identifikaci úlohy pracovního postupu k obnovení. Používá parametr Filter k identifikaci úlohy pracovního postupu podle vlastnosti CustomID. Používá také parametr State k ověření, že úloha pracovního postupu je pozastavena, než se pokusí obnovit.
PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended
Příklad 4: Obnovení všech pozastavených úloh na vzdáleném počítači
Tento příkaz obnoví všechny pozastavené úlohy ve vzdáleném počítači Srv01.
PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
Příkaz používá rutinu Invoke-Command
ke spuštění příkazu na počítači Srv01. Vzdálený příkaz používá parametr State rutiny Get-Job
k získání všech pozastavených úloh v počítači. Operátor kanálu (|
) odešle pozastavené úlohy do rutiny Resume-Job
, která je obnoví.
Příklad 5: Čekání na obnovení úloh
Tento příkaz pomocí parametru Wait směruje Resume-Job
k vrácení až po obnovení všech zadaných úloh. Parametr Wait je zvlášť užitečný ve skriptech, které předpokládají, že úlohy se obnoví před pokračováním skriptu.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
Příklad 6: Obnovení pracovního postupu, který pozastaví sám sebe
Tato ukázka kódu ukazuje aktivitu Suspend-Workflow
v pracovním postupu.
Pracovní postup Test-Suspend
na počítači Server01. Při spuštění pracovního postupu pracovní postup spustí aktivitu Get-Date
a uloží výsledek do proměnné $a
. Potom spustí aktivitu Suspend-Workflow
. V reakci na to trvá kontrolní bod, pozastaví pracovní postup a vrátí objekt úlohy pracovního postupu.
Suspend-Workflow
vrátí objekt úlohy pracovního postupu, i když pracovní postup není explicitně spuštěn jako úloha.
Resume-Job
obnoví pracovní postup Test-Suspend
v úloze 8. Používá parametr Wait k uložení příkazového řádku, dokud se úloha neobnoví.
Rutina Receive-Job
získá výsledky pracovního postupu Test-Suspend
. Poslední příkaz v pracovním postupu vrátí objekt TimeSpan, který představuje uplynulý čas mezi aktuálním datem a časem a datem a časem uloženým v proměnné $a
před pozastavením pracovního postupu.
#SampleWorkflow
workflow Test-Suspend
{
$a = Get-Date
Suspend-Workflow
(Get-Date)- $a
}
PS C:\> Test-Suspend -PSComputerName Server01
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
8 Job8 PSWorkflowJob Suspended True Server01 Test-Suspend
PS C:\> Resume-Job -Name "Job8" -Wait
Id Name PSJobTypeName State HasMoreData Location Command
-- ---- ------------- ----- ----------- -------- -------
8 Job8 PSWorkflowJob Running True Server01 Test-Suspend
PS C:\> Receive-Job -Name Job8
Days : 0
Hours : 0
Minutes : 0
Seconds : 19
Milliseconds : 823
Ticks : 198230041
TotalDays : 0.000229432917824074
TotalHours : 0.00550639002777778
TotalMinutes : 0.330383401666667
TotalSeconds : 19.8230041
TotalMilliseconds : 19823.0041
PSComputerName : Server01
Rutina Resume-Job
umožňuje obnovit úlohu pracovního postupu, která byla pozastavena pomocí aktivity Suspend-Workflow
. Tato aktivita pozastaví pracovní postup v rámci pracovního postupu. Platí pouze v pracovních postupech.
Informace o Suspend-Workflow
naleznete v tématu about_Suspend-Workflow](.. /PSWorkflow/about/about_Suspend-Workflow.md).
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 |
-Filter
Určuje tabulku hodnot hash podmínek. Tato rutina obnoví úlohy, které splňují všechny podmínky v tabulce hash. Zadejte tabulku hash, kde klíče jsou vlastnosti úlohy a hodnoty jsou hodnoty vlastností úlohy.
Typ: | Hashtable |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Id
Určuje pole ID pro úlohy, které tato rutina obnoví.
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. Pokud chcete zjistit ID úlohy, spusťte Get-Job
.
Typ: | Int32[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-InstanceId
Určuje pole ID instancí úloh, které tato rutina obnoví. Výchozí hodnota je všechny úlohy.
ID instance je identifikátor GUID, který jednoznačně identifikuje úlohu v počítači. Pokud chcete zjistit ID instance úlohy, spusťte Get-Job
.
Typ: | Guid[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Job
Určuje úlohy, které se mají obnovit. Zadejte proměnnou, která obsahuje úlohy, nebo příkaz, který získá úlohy. Úlohy můžete také pipetovat do rutiny Resume-Job
.
Typ: | Job[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Name
Určuje pole popisných názvů úloh, které tato rutina obnoví. Zadejte jedno nebo více názvů úloh. Jsou povoleny zástupné znaky.
Typ: | String[] |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-State
Určuje stav úloh, které se mají obnovit. Přijatelné hodnoty pro tento parametr jsou:
- NotStarted
- Tekoucí
- Hotový
- Neúspěšný
- Zastavený
- Blokovaný
- Pozastavený
- Nesouvislý
- Pozastavení
- Zastavení
Tato rutina obnoví pouze úlohy ve stavu Pozastaveno.
Další informace o stavech úloh naleznete v tématu JobState Výčtu.
Typ: | JobState |
Přípustné hodnoty: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Wait
Označuje, že tato rutina potlačí příkazový řádek, dokud nebudou restartovány všechny výsledky úloh. Ve výchozím nastavení tato rutina okamžitě vrátí dostupné výsledky.
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
Do této rutiny můžete převést všechny typy úloh. Pokud Resume-Job
získá úlohu nepodporovaného typu, vrátí ukončovací chybu.
Výstupy
None, System.Management.Automation.Job
Tato rutina vrátí úlohy, které se pokusí obnovit, pokud použijete parametr PassThru. Jinak tato rutina negeneruje žádný výstup.
Poznámky
Windows PowerShell obsahuje následující aliasy pro Resume-Job
:
rujb
Resume-Job
může obnovit pouze pozastavené úlohy. Pokud odešlete úlohu v jiném stavu,Resume-Job
spustí operaci obnovení úlohy, ale vygeneruje upozornění, že úlohu nebylo možné obnovit. Chcete-li potlačit upozornění, použijte WarningAction společný parametr s hodnotou SilentlyContinue.Pokud úloha není typu, který podporuje obnovení, například úlohu pracovního postupu (PSWorkflowJob),
Resume-Job
vrátí ukončující chybu.Mechanismus a umístění pro uložení pozastavené úlohy se může lišit v závislosti na typu úlohy. Pozastavené úlohy pracovního postupu se například ve výchozím nastavení ukládají do plochého úložiště souborů, ale dají se také uložit do databáze SQL.
Po obnovení úlohy se stav úlohy změní z Pozastavené na Spuštěno. Pokud chcete najít spuštěné úlohy, včetně těch, které tato rutina obnovila, použijte parametr State rutiny
Get-Job
k získání úloh ve stavu Spuštěno.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í.