Sdílet prostřednictvím


Resume-Job

Restartuje pozastavenou úlohu.

Syntax

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í Suspend-Job rutiny nebo aktivity about_Suspend-Workflow . 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 Pozastaveno 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 , do Resume-Job. Pomocí filtru vlastností můžete také vybrat úlohu, která se má obnovit.

Ve výchozím nastavení Resume-Job se 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 se ukončující chyba a přestane běžet.

Chcete-li identifikovat úlohu pracovního postupu, vyhledejte hodnotu PSWorkflowJob ve vlastnosti PSJobTypeName ú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 použije rutinu Get-Job k získání úlohy. Výstup ukazuje, že úloha je pozastavená úloha pracovního postupu. Druhý příkaz pomocí parametru Resume-Job ID rutiny obnoví úlohu s hodnotou ID 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í. Pomocí parametru Filter identifikuje úlohu 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 pomocí parametru Get-Job State rutiny získá všechny pozastavené úlohy v počítači. Operátor kanálu (|) odešle pozastavené úlohy do Resume-Job rutiny, která je obnoví.

Příklad 5: Čekání na obnovení úloh

Tento příkaz pomocí parametru Wait nasměruje Resume-Job na 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 Suspend-Workflow aktivitu v pracovním postupu.

Pracovní Test-Suspend postup na počítači Server01. Při spuštění pracovního postupu pracovní postup spustí Get-Date aktivitu a uloží výsledek do $a proměnné. Pak spustí Suspend-Workflow aktivitu. 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-JobTest-Suspend obnoví pracovní postup 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 Test-Suspend pracovního postupu. 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 $a proměnné 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í Suspend-Workflow aktivity. Tato aktivita pozastaví pracovní postup v rámci pracovního postupu. Platí pouze v pracovních postupech.

Informace o nástroji Suspend-Workflownaleznete v tématu about_Suspend-Workflow](.. /PSWorkflow/about/about_Suspend-Workflow.md).

Parametry

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:Hashtable
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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-Jobpříkaz .

Type:Int32[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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-Jobpříkaz .

Type:Guid[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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é vést do rutiny Resume-Job .

Type:Job[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-State

Určuje stav úloh, které se mají obnovit. Tento parametr přijímá tyto hodnoty:

  • NotStarted
  • Spuštěno
  • Dokončeno
  • Neúspěšný
  • Zastaveno
  • Blokované
  • Dočasně blokován.
  • Odpojeno
  • Pozastavení
  • Zastavování

Tato rutina obnoví pouze úlohy v pozastaveném stavu.

Další informace o stavech úloh naleznete v části JobState – výčet.

Type:JobState
Accepted values:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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čující 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. Pokud chcete upozornění potlačit, použijte společný parametr WarningAction 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.

  • Když obnovíte úlohu, stav úlohy se změní z Pozastaveno na Spuštěno. Chcete-li najít spuštěné úlohy, včetně těch, které byly obnoveny touto rutinou, použijte parametr Get-Job State rutiny k získání úloh ve spuštěné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í.