Delen via


Resume-Job

Start een onderbroken taak opnieuw.

Syntax

SessionIdParameterSet (Standaard)

Resume-Job
    [-Id] <Int32[]>
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

JobParameterSet

Resume-Job
    [-Job] <Job[]>
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

NameParameterSet

Resume-Job
    [-Name] <String[]>
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InstanceIdParameterSet

Resume-Job
    [-InstanceId] <Guid[]>
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

StateParameterSet

Resume-Job
    [-State] <JobState>
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

FilterParameterSet

Resume-Job
    [-Filter] <Hashtable>
    [-Wait]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

De Resume-Job cmdlet hervat een werkstroomtaak die is onderbroken, zoals met behulp van de Suspend-Job-cmdlet of de about_Suspend-Workflow activiteit. 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 Wordt uitgevoerd.

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

Standaard retourneert Resume-Job onmiddellijk, ook al zijn alle taken mogelijk nog niet hervat. Als u de opdrachtprompt wilt onderdrukken totdat alle opgegeven taken zijn hervat, gebruikt u de parameter Wacht.

De Resume-Job cmdlet werkt alleen voor aangepaste taaktypen, zoals werkstroomtaken. Het werkt niet aan standaardachtergrondtaken, zoals taken die zijn gestart met behulp van de Start-Job-cmdlet. Als u een taak van een niet-ondersteund type verzendt, genereert Resume-Job een afsluitfout 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, met behulp van de Import-Module-cmdlet of haalt of gebruikt u een cmdlet in de module.

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 maakt gebruik van 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 parameter Id van de cmdlet Resume-Job om de taak te hervatten met een -id waarde 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

Deze opdracht maakt gebruik van de parameter Name 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 maakt gebruik van 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 Resume-Job te retourneren nadat alle opgegeven taken zijn hervat. De parameter Wait 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 de Test-Suspend werkstroom in Job8 hervat. Hierbij wordt de parameter Wait gebruikt om de opdrachtprompt vast te houden totdat de taak is hervat.

Met de Receive-Job-cmdlet worden de resultaten van de Test-Suspend-werkstroom opgehaald. De laatste opdracht in de werkstroom retourneert een TimeSpan--object dat de verstreken tijd aangeeft tussen de huidige datum en tijd en de datum en tijd die zijn opgeslagen in de $a variabele 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

Met de Resume-Job 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

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:Hashtable
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

FilterParameterSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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 Get-Jobuit om de id van een taak te vinden.

Parametereigenschappen

Type:

Int32[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

SessionIdParameterSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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. Voer Get-Jobuit om de exemplaar-id van een taak te vinden.

Parametereigenschappen

Type:

Guid[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

InstanceIdParameterSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Job

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

Parametereigenschappen

Type:

Job[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

JobParameterSet
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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.

Parametereigenschappen

Type:

String[]

Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

NameParameterSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-State

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

  • Niet gestart
  • Hardlopen
  • Volbracht
  • Mislukt
  • Gestopt
  • Geblokkeerd
  • Opgeschort
  • Niet verbonden
  • Onderbreken
  • Het stoppen

Met deze cmdlet worden alleen taken in de status onderbroken hervat.

Zie Opsomming JobStatevoor meer informatie over taakstatussen.

Parametereigenschappen

Type:JobState
Default value:None
Geaccepteerde waarden:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Ondersteunt jokertekens:False
DontShow:False

Parametersets

StateParameterSet
Position:0
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Wait

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

Parametereigenschappen

Type:SwitchParameter
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

Job

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

Uitvoerwaarden

None, System.Management.Automation.Job

Met deze cmdlet worden de taken geretourneerd 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 onderbroken. Als u een taak in een andere status verzendt, Resume-Job de cv-bewerking op de taak uitvoert, maar er wordt een waarschuwing gegenereerd om u te laten weten dat de taak niet kan worden hervat. Als u de waarschuwing wilt onderdrukken, gebruikt u de WarningAction algemene parameter met de waarde SilentlyContinue.

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

  • 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 Wordt uitgevoerd. 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.