Resume-Job

Startet einen angehaltenen Auftrag neu

Syntax

SessionIdParameterSet (Standard)

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

Beschreibung

Das Cmdlet Resume-Job setzt einen angehaltenen Workflowauftrag fort, z. B. mithilfe des Cmdlets Suspend-Job oder der about_Suspend-Workflow-Aktivität . Wenn ein Workflowauftrag fortgesetzt wird, rekonstruiert das Auftragsmodul den Status, die Metadaten und die Ausgabe aus gespeicherten Ressourcen, wie z. B. Prüfpunkten, sodass der Auftrag ohne Zustands- oder Datenverlust neu gestartet wird. Der Auftragsstatus wird von Suspended in Runninggeändert.

Verwenden Sie die Parameter Resume-Job, um Aufträge nach Name, ID, Instanz-ID oder Pipe eines Auftragsobjekts auszuwählen, z. B. eines, das vom Cmdlet Get-Job zurückgegeben wird, um Resume-Job. Sie können auch einen Eigenschaftenfilter verwenden, um einen Auftrag auszuwählen, der fortgesetzt werden soll.

Standardmäßig wird Resume-Job sofort zurückgegeben, obwohl alle Aufträge möglicherweise noch nicht fortgesetzt werden. Um die Eingabeaufforderung zu unterdrücken, bis alle angegebenen Aufträge fortgesetzt werden, verwenden Sie den Parameter Wait.

Das cmdlet Resume-Job funktioniert nur für benutzerdefinierte Auftragstypen, z. B. Workflowaufträge. Es funktioniert nicht für Standard-Hintergrundaufträge, z. B. die, die mit dem Cmdlet Start-Job gestartet werden. Wenn Sie einen Auftrag eines nicht unterstützten Typs übermitteln, generiert Resume-Job einen Beendigungsfehler und beendet die Ausführung.

Um einen Workflowauftrag zu identifizieren, suchen Sie nach dem Wert PSWorkflowJob- in der PSJobTypeName Eigenschaft des Auftrags. Informationen dazu, ob ein bestimmter benutzerdefinierter Auftragstyp das cmdlet Resume-Job unterstützt, finden Sie in den Hilfethemen für den benutzerdefinierten Auftragstyp.

Hinweis: Bevor Sie ein Auftrags-Cmdlet für einen benutzerdefinierten Auftragstyp verwenden, importieren Sie das Modul, das den benutzerdefinierten Auftragstyp unterstützt, entweder mithilfe des Cmdlets Import-Module oder durch Abrufen oder Verwenden eines Cmdlets im Modul.

Dieses Cmdlet wird in Windows PowerShell 3.0 eingeführt.

Beispiele

Beispiel 1: Fortsetzen eines Auftrags nach 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> 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> Resume-Job -Id 4

Die Befehle in diesem Beispiel stellen sicher, dass der Auftrag ein angehaltener Workflowauftrag ist, und setzen Sie den Auftrag dann fort.

Beispiel 2: Fortsetzen eines Auftrags anhand des Namens

PS> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*

Dieser Befehl verwendet den Parameter Name, um mehrere Workflowaufträge auf dem lokalen Computer fortzusetzen.

Beispiel 3: Verwenden von benutzerdefinierten Eigenschaftswerten

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

Dieser Befehl verwendet den Wert einer benutzerdefinierten Eigenschaft, um den Workflowauftrag zu identifizieren, der fortgesetzt werden soll. Er verwendet den parameter Filter, um den Workflowauftrag anhand seiner CustomID--Eigenschaft zu identifizieren. Außerdem wird der Parameter State verwendet, um zu überprüfen, ob der Workflowauftrag angehalten wird, bevor er versucht, ihn fortzusetzen.

Beispiel 4: Fortsetzen aller angehaltenen Aufträge auf einem Remotecomputer

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

Mit diesem Befehl werden alle angehaltenen Aufträge auf dem Remotecomputer Srv01 fortgesetzt.

Der Befehl verwendet das cmdlet Invoke-Command, um einen Befehl auf dem Srv01-Computer auszuführen. Der Remotebefehl verwendet den State-Parameter des Cmdlets Get-Job, um alle angehaltenen Aufträge auf dem Computer abzurufen. Ein Pipelineoperator (|) sendet die angehaltenen Aufträge an das cmdlet Resume-Job, das sie fortsetzt.

Beispiel 5: Warten, bis Aufträge fortgesetzt werden

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

Dieser Befehl verwendet den Wait-Parameter , um Resume-Job so anzuweisen, dass erst zurückgegeben wird, nachdem alle angegebenen Aufträge fortgesetzt wurden. Der parameter Wait ist besonders nützlich in Skripts, die davon ausgehen, dass Aufträge fortgesetzt werden, bevor das Skript fortgesetzt wird.

Beispiel 6: Fortsetzen eines Workflows, der sich selbst anhält

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

Mit dem Cmdlet Resume-Job können Sie einen angehaltenen Workflowauftrag mithilfe der Suspend-Workflow-Aktivität fortsetzen. Diese Aktivität hält einen Workflow innerhalb eines Workflows an. Sie ist nur in Workflows gültig.

Weitere Informationen zum Suspend-Workflow finden Sie unter about_Suspend-Workflow.

Parameter

-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:vgl

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Filter

Setzt nur Aufträge fort, die alle in der zugeordneten Hashtabelle festgelegten Bedingungen erfüllen. Geben Sie eine Hashtabelle ein, in der die Schlüssel Auftragseigenschaften und die Werte Werte der Auftragseigenschaften sind.

Parametereigenschaften

Typ:Hashtable
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

FilterParameterSet
Position:1
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Id

Setzt die Aufträge mit den angegebenen IDs fort.

Die ID ist eine ganze Zahl, die den Auftrag innerhalb der aktuellen Sitzung eindeutig identifiziert. Sie ist einfacher zu merken und einzugeben als die Instanz-ID, aber sie ist nur innerhalb der aktuellen Sitzung eindeutig. Sie können eine oder mehrere IDs eingeben (durch Kommas getrennt). Um die ID eines Auftrags zu finden, verwenden Sie das Cmdlet Get-Job.

Parametereigenschaften

Typ:

Int32[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

SessionIdParameterSet
Position:1
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-InstanceId

Setzt Aufträge mit den angegebenen Instanz-IDs fort. Die Standardeinstellung ist "alle Aufträge".

Eine Instanz-ID ist eine GUID, die den Auftrag auf dem Computer eindeutig identifiziert. Um die Instanz-ID eines Auftrags zu suchen, verwenden Sie das Cmdlet Get-Job.

Parametereigenschaften

Typ:

Guid[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

InstanceIdParameterSet
Position:1
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Job

Gibt die Aufträge an, die fortgesetzt werden sollen. Geben Sie eine Variable ein, die entweder die Aufträge oder einen Befehl enthält, durch den die Aufträge abgerufen werden. Sie können Aufträge auch an das Cmdlet Resume-Job weiterleiten.

Parametereigenschaften

Typ:

Job[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

JobParameterSet
Position:1
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Name

Setzt Aufträge mit den angegebenen Anzeigenamen fort. Geben Sie einen oder mehrere Auftragsnamen ein. Platzhalter werden unterstützt.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

NameParameterSet
Position:1
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-State

Setzt nur die Aufträge im angegebenen Zustand fort. Gültige Werte sind NotStarted, Running, Completed, Failed, Stoped, Blocked, Suspended, Disconnected, Suspended und Stopping, aber Resume-Job setzt nur Aufträge im Status Suspended fort.

Weitere Informationen zu Auftragszuständen finden Sie unter JobState Enumeration in der MSDN Library.

Parametereigenschaften

Typ:JobState
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

StateParameterSet
Position:1
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-Wait

Hält die Eingabeaufforderung an, bis alle angegebenen Aufträge fortgesetzt wurden. Standardmäßig wird Resume-Job sofort zurückgegeben.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Wi

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

Job

Sie können alle Arten von Aufträgen über die Pipeline an Resume-Job übergeben. Wenn Resume-Job jedoch einen Auftrag eines nicht unterstützten Typs abruft, wird ein Beendigungsfehler ausgelöst.

Ausgaben

None or System.Management.Automation.Job

Wenn Sie den PassThru-Parameter verwenden, gibt Resume-Job die Aufträge zurück, die fortgesetzt werden sollen. Andernfalls generiert dieses Cmdlet keine Ausgabe.

Hinweise

  • Resume-Job- können nur angehaltene Aufträge fortsetzen. Wenn Sie einen Auftrag in einem anderen Zustand übermitteln, Resume-Job den Fortsetzungsvorgang auf dem Auftrag ausführt, generiert jedoch eine Warnung, um Sie darüber zu informieren, dass der Auftrag nicht fortgesetzt werden konnte. Um die Warnung zu unterdrücken, verwenden Sie den allgemeinen Parameter WarningAction mit dem Wert SilentlyContinue.
  • Wenn ein Auftrag nicht von einem Typ ist, der das Fortsetzen unterstützt, z. B. ein Workflowauftrag (PSWorkflowJob), löst Resume-Job einen Beendigungsfehler aus.
  • Der Mechanismus und der Speicherort zum Speichern eines angehaltenen Auftrags können je nach Auftragstyp variieren. Beispielsweise werden angehaltene Workflowaufträge standardmäßig in einem Flachdateispeicher gespeichert, können aber auch in einer SQL-Datenbank gespeichert werden.
  • Wenn Sie einen Auftrag fortsetzen, ändert sich der Auftragsstatus von Angehaltenen in Wird ausgeführt. Um die ausgeführten Aufträge zu suchen, einschließlich derjenigen, die mit diesem Cmdlet fortgesetzt wurden, verwenden Sie den State-Parameter des Cmdlets Get-Job, um Aufträge im Status Wird ausgeführt abzurufen.
  • Einige Auftragstypen verfügen über Optionen oder Eigenschaften, die verhindern, dass Windows PowerShell den Auftrag angehalten. Wenn Versuche, den Auftrag anzuhalten, fehlschlagen, stellen Sie sicher, dass die Auftragsoptionen und -eigenschaften das Anhalten zulassen.