Resume-Job

Startar om ett pausat jobb.

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

Cmdleten Resume-Job återupptar ett arbetsflödesjobb som pausades, till exempel genom att använda cmdleten Suspend-Job eller aktiviteten about_Suspend-Workflow. När ett arbetsflödesjobb återupptas rekonstruerar jobbmotorn tillståndet, metadata och utdata från sparade resurser, till exempel kontrollpunkter. Jobbet startas om utan förlust av tillstånd eller data. Jobbtillståndet ändras från Pausad till Körs.

Använd parametrarna för Resume-Job för att välja jobb efter namn, ID, instans-ID eller skicka ett jobbobjekt, till exempel ett som returneras av Get-Job cmdlet, för att Resume-Job. Du kan också använda ett egenskapsfilter för att välja ett jobb som ska återupptas.

Som standard returnerar Resume-Job omedelbart, även om alla jobb kanske inte återupptas ännu. Om du vill ignorera kommandotolken tills alla angivna jobb återupptas använder du parametern Wait.

Cmdleten Resume-Job fungerar endast på anpassade jobbtyper, till exempel arbetsflödesjobb. Det fungerar inte på standardbakgrundsjobb, till exempel de som startas med hjälp av cmdleten Start-Job. Om du skickar ett jobb av en typ som inte stöds genererar Resume-Job ett avslutande fel och slutar köras.

Om du vill identifiera ett arbetsflödesjobb letar du efter värdet PSWorkflowJob i PSJobTypeName-egenskapen för jobbet. Information om huruvida en viss anpassad jobbtyp stöder cmdleten Resume-Job finns i hjälpavsnitten för den anpassade jobbtypen.

Innan du använder en jobb-cmdlet på en anpassad jobbtyp importerar du modulen som stöder den anpassade jobbtypen, antingen med hjälp av cmdleten Import-Module eller genom att hämta eller använda en cmdlet i modulen.

Den här cmdleten introducerades i Windows PowerShell 3.0.

Exempel

Exempel 1: Återuppta ett jobb efter ID

The first command uses the **Get-Job** cmdlet to get the job. The output shows that the job is a suspended workflow job.
PS C:\> Get-Job EventJob
Id     Name            PSJobTypeName   State         HasMoreData     Location   Command
--     ----            -------------   -----         -----------     --------   -------
4      EventJob        PSWorkflowJob   Suspended     True            Server01   \\Script\Share\Event.ps1

The second command uses the *Id* parameter of the **Resume-Job** cmdlet to resume the job with an *Id* value of 4.
PS C:\> Resume-Job -Id 4

Kommandona i det här exemplet kontrollerar att jobbet är ett pausat arbetsflödesjobb och återupptar sedan jobbet.

Exempel 2: Återuppta ett jobb efter namn

PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*

Det här kommandot använder parametern Name för att återuppta flera arbetsflödesjobb på den lokala datorn.

Exempel 3: Använd anpassade egenskapsvärden

PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended

Det här kommandot använder värdet för en anpassad egenskap för att identifiera arbetsflödesjobbet som ska återupptas. Den använder parametern Filter för att identifiera arbetsflödesjobbet med egenskapen CustomID. Den använder också parametern State för att verifiera att arbetsflödesjobbet har pausats innan det försöker återuppta det.

Exempel 4: Återuppta alla pausade jobb på en fjärrdator

PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}

Det här kommandot återupptar alla pausade jobb på Srv01-fjärrdatorn.

Kommandot använder cmdleten Invoke-Command för att köra ett kommando på Srv01-datorn. Fjärrkommandot använder parametern State för cmdleten Get-Job för att hämta alla pausade jobb på datorn. En pipelineoperator (|) skickar de pausade jobben till cmdleten Resume-Job som återupptar dem.

Exempel 5: Vänta tills jobben återupptas

PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait

Det här kommandot använder parametern Wait för att dirigera Resume-Job- att returnera först när alla angivna jobb har återupptagits. Parametern Wait är särskilt användbar i skript som förutsätter att jobb återupptas innan skriptet fortsätter.

Exempel 6: Återuppta ett arbetsflöde som pausar sig självt

This code sample shows the **Suspend-Workflow** activity in a workflow.
#SampleWorkflow
Workflow Test-Suspend
{
    $a = Get-Date
    Suspend-Workflow
    (Get-Date)- $a
}

The following command runs the Test-Suspend workflow on the Server01 computer.When you run the workflow, the workflow runs the Get-Date activity and stores the result in the $a variable. Then it runs the Suspend-Workflow activity. In response, it takes a checkpoint, suspends the workflow, and returns a workflow job object.  Suspend-Workflow returns a workflow job object even if the workflow is not explicitly run as a job.
PS C:\> Test-Suspend -PSComputerName Server01
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
--     ----            -------------   -----         -----------     --------             -------
8      Job8            PSWorkflowJob   Suspended     True            Server01             Test-Suspend

The following command resumes the Test-Suspend workflow in Job8. It uses the *Wait* parameter to hold the command prompt until the job is resumed.
PS C:\> Resume-Job -Name "Job8" -Wait
Id     Name            PSJobTypeName   State         HasMoreData     Location             Command

--     ----            -------------   -----         -----------     --------             -------

8      Job8            PSWorkflowJob   Running       True            Server01             Test-Suspend

This command uses the **Receive-Job** cmdlet to get the results of the Test-Suspend workflow. The final command in the workflow returns a **TimeSpan** object that represents the elapsed time between the current date and time and the date and time that was saved in the $a variable before the workflow was suspended.
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

Med cmdleten Resume-Job kan du återuppta ett arbetsflödesjobb som pausades med hjälp av aktiviteten Pausa arbetsflöde. Den här aktiviteten inaktiverar ett arbetsflöde inifrån ett arbetsflöde. Den är endast giltig i arbetsflöden.

Information om suspend-workflow finns i about_Suspend-Workflow.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Filter

Anger en hash-tabell med villkor. Den här cmdleten återupptar jobb som uppfyller alla villkor i hash-tabellen. Ange en hash-tabell där nycklarna är jobbegenskaper och värdena är jobbegenskapsvärden.

Typ:Hashtable
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Id

Anger en matris med ID:er för jobb som den här cmdleten återupptar.

ID:t är ett heltal som unikt identifierar jobbet i den aktuella sessionen. Det är lättare att komma ihåg och skriva än instans-ID, men det är bara unikt i den aktuella sessionen. Du kan skriva ett eller flera ID:er, avgränsade med kommatecken. Om du vill hitta ID:t för ett jobb kör du Get-Job.

Typ:Int32[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-InstanceId

Anger en matris med instans-ID:t för jobb som den här cmdleten återupptar. Standardvärdet är alla jobb.

Ett instans-ID är ett GUID som unikt identifierar jobbet på datorn. Om du vill hitta instans-ID:t för ett jobb kör du Get-Job.

Typ:Guid[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Job

Anger vilka jobb som ska återupptas. Ange en variabel som innehåller jobben eller ett kommando som hämtar jobben. Du kan också skicka jobb till cmdleten Resume-Job.

Typ:Job[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Name

Anger en matris med egna namn på jobb som cmdleten återupptar. Ange ett eller flera jobbnamn. Jokertecken tillåts.

Typ:String[]
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-State

Anger tillståndet för jobb som ska återupptas. De godtagbara värdena för den här parametern är:

  • NotStarted
  • Löpning
  • Fullbordad
  • Misslyckades
  • Stoppat
  • Blockerad
  • Upphängd
  • Bortkopplad
  • Avbryta
  • Stoppa

Den här cmdleten återupptar endast jobb i tillståndet Pausad.

Mer information om jobbtillstånd finns i JobState Enumeration i MSDN-biblioteket.

Typ:JobState
Godkända värden:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Wait

Anger att den här cmdleten undertrycker kommandotolken tills alla jobbresultat startas om. Som standard returnerar den här cmdleten omedelbart de tillgängliga resultaten.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

Job

Du kan skicka alla typer av jobb till den här cmdleten. Om Resume-Job får ett jobb av en typ som inte stöds returneras ett avslutande fel.

Utdata

None, System.Management.Automation.Job

Den här cmdleten returnerar jobben som den försöker återuppta om du använder parametern PassThru. Annars genererar den här cmdleten inga utdata.

Kommentarer

  • Resume-Job kan bara återuppta jobb som är pausade. Om du skickar ett jobb i ett annat tillstånd kör Resume-Job återuppta-åtgärden på jobbet, men genererar en varning om att jobbet inte kunde återupptas. Om du vill ignorera varningen använder du WarningAction gemensam parameter med värdet SilentlyContinue.
  • Om ett jobb inte är av en typ som stöder återupptagning, till exempel ett arbetsflödesjobb (PSWorkflowJob), returnerar Resume-Job ett avslutande fel.
  • Mekanismen och platsen för att spara ett pausat jobb kan variera beroende på jobbtyp. Till exempel sparas pausade arbetsflödesjobb i ett platt filarkiv som standard, men kan också sparas i en SQL-databas.
  • När du återupptar ett jobb ändras jobbtillståndet från Pausad till Körs. Om du vill hitta jobben som körs, inklusive de som återupptogs av den här cmdleten, använder du parametern State för cmdleten Get-Job för att hämta jobb i körningstillståndet.
  • Vissa jobbtyper har alternativ eller egenskaper som hindrar Windows PowerShell från att pausa jobbet. Om det inte går att pausa jobbet kontrollerar du att jobbalternativen och egenskaperna tillåter pausning.