Resume-Job

Start een onderbroken taak opnieuw.

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

De Resume-Job cmdlet hervat een werkstroomtaak die is onderbroken, zoals met behulp van de Suspend-Job cmdlet of de activiteit about_Suspend-Workflow . Wanneer een werkstroomtaak wordt hervat, reconstrueert de taakengine de status, metagegevens en uitvoer van opgeslagen resources, zoals controlepunten. De taak wordt opnieuw gestart zonder verlies van status of gegevens. De taakstatus wordt gewijzigd van Onderbroken in Actief.

Gebruik de parameters van het selecteren van Resume-Job taken op naam, id, exemplaar-id of doorsturen van een taakobject, zoals een object dat wordt geretourneerd door de Get-Job cmdlet.Resume-Job U kunt ook een eigenschapsfilter gebruiken om een taak te selecteren die moet worden hervat.

Retourneert standaard Resume-Job onmiddellijk, ook al worden alle taken mogelijk nog niet hervat. Als u de opdrachtprompt wilt onderdrukken totdat alle opgegeven taken zijn hervat, gebruikt u de parameter Wait .

De Resume-Job cmdlet werkt alleen voor aangepaste taaktypen, zoals werkstroomtaken. Het werkt niet voor standaardachtergrondtaken, zoals taken die zijn gestart met behulp van de Start-Job cmdlet. Als u een taak van een niet-ondersteund type verzendt, Resume-Job wordt er een afsluitfout gegenereerd en wordt de uitvoering gestopt.

Als u een werkstroomtaak wilt identificeren, zoekt u naar een waarde van PSWorkflowJob in de eigenschap PSJobTypeName van de taak. Als u wilt bepalen of een bepaald aangepast taaktype de Resume-Job cmdlet ondersteunt, raadpleegt u de Help-onderwerpen voor het aangepaste taaktype.

Voordat u een taak-cmdlet op een aangepast taaktype gebruikt, importeert u de module die het aangepaste taaktype ondersteunt door de Import-Module cmdlet te gebruiken of door een cmdlet in de module op te halen of te gebruiken.

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Een taak hervatten op id

Met de opdrachten in dit voorbeeld controleert u of de taak een onderbroken werkstroomtaak is en hervat u de taak. De eerste opdracht gebruikt de Get-Job cmdlet om de taak op te halen. In de uitvoer ziet u dat de taak een onderbroken werkstroomtaak is. De tweede opdracht gebruikt de id-parameter van de Resume-Job cmdlet om de taak te hervatten met een id-waarde van 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

Voorbeeld 2: Een taak hervatten op naam

Met deze opdracht wordt de parameter Name gebruikt om verschillende werkstroomtaken op de lokale computer te hervatten.

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

Voorbeeld 3: Aangepaste eigenschapswaarden gebruiken

Met deze opdracht wordt de waarde van een aangepaste eigenschap gebruikt om de werkstroomtaak te identificeren die moet worden hervat. De parameter Filter wordt gebruikt om de werkstroomtaak te identificeren op basis van de eigenschap CustomID. Ook wordt de parameter State gebruikt om te controleren of de werkstroomtaak is onderbroken voordat deze wordt hervat.

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

Voorbeeld 4: Alle onderbroken taken op een externe computer hervatten

Met deze opdracht worden alle onderbroken taken op de externe Srv01-computer hervat.

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

De opdracht gebruikt de Invoke-Command cmdlet om een opdracht uit te voeren op de Srv01-computer. De externe opdracht gebruikt de parameter State van de Get-Job cmdlet om alle onderbroken taken op de computer op te halen. Een pijplijnoperator (|) verzendt de onderbroken taken naar de Resume-Job cmdlet, waarmee ze worden hervat.

Voorbeeld 5: Wachten tot taken zijn hervat

Met deze opdracht wordt de parameter Wait gebruikt om alleen te Resume-Job worden geretourneerd nadat alle opgegeven taken zijn hervat. De wachtparameter is vooral handig in scripts die ervan uitgaan dat taken worden hervat voordat het script wordt voortgezet.

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

Voorbeeld 6: Een werkstroom hervatten die zichzelf onderbreekt

In dit codevoorbeeld ziet u de Suspend-Workflow activiteit in een werkstroom.

De Test-Suspend werkstroom op de Server01-computer. Wanneer u de werkstroom uitvoert, wordt de Get-Date activiteit uitgevoerd en wordt het resultaat opgeslagen in de $a variabele. Vervolgens wordt de Suspend-Workflow activiteit uitgevoerd. Als antwoord: het neemt een controlepunt, onderbreekt de werkstroom en retourneert een werkstroomtaakobject. Suspend-Workflow retourneert een werkstroomtaakobject, zelfs als de werkstroom niet expliciet als een taak wordt uitgevoerd.

Resume-Job hervat de Test-Suspend werkstroom in Job8. Hierbij wordt de parameter Wait gebruikt om de opdrachtprompt in te houden totdat de taak is hervat.

De Receive-Job cmdlet haalt de resultaten van de Test-Suspend werkstroom op. Met de laatste opdracht in de werkstroom wordt een TimeSpan-object geretourneerd dat de verstreken tijd aangeeft tussen de huidige datum en tijd en de datum en tijd die in de $a variabele zijn opgeslagen voordat de werkstroom werd onderbroken.

#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

Resume-Job Met de cmdlet kunt u een werkstroomtaak hervatten die is onderbroken met behulp van de Suspend-Workflow activiteit. Deze activiteit onderbreekt een werkstroom vanuit een werkstroom. Deze is alleen geldig in werkstromen.

Zie about_Suspend-Workflow](.) voor meer informatie over de Suspend-Workflow /PSWorkflow/about/about_Suspend-Workflow.md).

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-Filter

Hiermee geeft u een hash-tabel met voorwaarden. Met deze cmdlet worden taken hervat die voldoen aan alle voorwaarden in de hash-tabel. Voer een hashtabel in waarin de sleutels taakeigenschappen zijn en de waarden taakeigenschapswaarden zijn.

Type:Hashtable
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Id

Hiermee geeft u een matrix van id's op voor taken die door deze cmdlet worden hervat.

De id is een geheel getal dat de taak in de huidige sessie uniek identificeert. Het is gemakkelijker om te onthouden en te typen dan de exemplaar-id, maar het is alleen uniek in de huidige sessie. U kunt een of meer id's typen, gescheiden door komma's. Voer de opdracht uit Get-Jobom de id van een taak te vinden.

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

-InstanceId

Hiermee geeft u een matrix op van exemplaar-id's van taken die door deze cmdlet worden hervat. De standaardwaarde is alle taken.

Een exemplaar-id is een GUID waarmee de taak op de computer uniek wordt geïdentificeerd. Als u de exemplaar-id van een taak wilt vinden, voert u de opdracht uit Get-Job.

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

-Job

Hiermee geeft u de taken die moeten worden hervat. Voer een variabele in die de taken bevat of een opdracht waarmee de taken worden ophaalt. U kunt taken ook doorschakelen naar de Resume-Job cmdlet.

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

-Name

Hiermee geeft u een matrix op van beschrijvende namen van taken die door deze cmdlet worden hervat. Voer een of meer taaknamen in. Jokertekens zijn toegestaan.

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

-State

Hiermee geeft u de status van taken die moeten worden hervat. De aanvaardbare waarden voor deze parameter zijn:

  • NotStarted
  • Wordt uitgevoerd
  • Voltooid
  • Mislukt
  • Gestopt
  • Geblokkeerd
  • Onderbroken
  • Ontkoppeld
  • Tijdelijk blokkeren
  • Stoppen

Met deze cmdlet worden alleen taken met de status Onderbroken hervat.

Zie De opsomming JobState voor meer informatie over taakstatussen.

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

Geeft aan dat deze cmdlet de opdrachtprompt onderdrukt totdat alle taakresultaten opnieuw worden gestart. Standaard retourneert deze cmdlet onmiddellijk de beschikbare resultaten.

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

Invoerwaarden

Job

U kunt alle soorten taken doorspezen naar deze cmdlet. Als Resume-Job een taak van een niet-ondersteund type wordt opgehaald, wordt er een afsluitfout geretourneerd.

Uitvoerwaarden

None, System.Management.Automation.Job

Deze cmdlet retourneert de taken die worden hervat als u de parameter PassThru gebruikt. Anders genereert deze cmdlet geen uitvoer.

Notities

Windows PowerShell bevat de volgende aliassen voor Resume-Job:

  • rujb

  • Resume-Job kan alleen taken hervatten die zijn opgeschort. Als u een taak in een andere status verzendt, Resume-Job voert u de cv-bewerking uit op de taak, maar genereert u een waarschuwing om u te laten weten dat de taak niet kan worden hervat. Als u de waarschuwing wilt onderdrukken, gebruikt u de algemene parameter WarningAction met een waarde van SilentlyContinue.

  • Als een taak niet van een type is dat ondersteuning biedt voor hervatting, zoals een werkstroomtaak (PSWorkflowJob), Resume-Job wordt een afsluitfout geretourneerd.

  • Het mechanisme en de locatie voor het opslaan van een onderbroken taak kunnen variëren, afhankelijk van het taaktype. Onderbroken werkstroomtaken worden bijvoorbeeld standaard opgeslagen in een plat bestandsarchief, maar kunnen ook worden opgeslagen in een SQL-database.

  • Wanneer u een taak hervat, verandert de taakstatus van Onderbroken in Actief. Als u wilt zoeken naar de taken die worden uitgevoerd, inclusief taken die door deze cmdlet zijn hervat, gebruikt u de parameter State van de Get-Job cmdlet om taken op te halen in de status Actief .

  • Sommige taaktypen hebben opties of eigenschappen die voorkomen dat Windows PowerShell de taak onderbreekt. Als pogingen om de taak te onderbreken mislukken, controleert u of de taakopties en eigenschappen het onderbreken toestaan.