Sdílet prostřednictvím


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-Workflownaleznete 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

Job

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í.