Udostępnij za pośrednictwem


Resume-Job

Uruchamia ponownie wstrzymane zadanie.

Składnia

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

Opis

Polecenie cmdlet Resume-Job wznowi zadanie przepływu pracy, które zostało zawieszone, na przykład za pomocą polecenia cmdlet Suspend-Job lub działania about_Suspend-Workflow. Po wznowieniu zadania przepływu pracy aparat zadań rekonstruuje stan, metadane i dane wyjściowe z zapisanych zasobów, takich jak punkty kontrolne. Zadanie jest uruchamiane ponownie bez utraty stanu lub danych. Stan zadania jest zmieniany z Wstrzymane na Uruchomione.

Użyj parametrów Resume-Job, aby wybrać zadania według nazwy, identyfikatora wystąpienia lub potoku obiektu zadania, takiego jak jeden zwrócony przez polecenie cmdlet Get-Job, aby resume-job. Możesz również użyć filtru właściwości, aby wybrać zadanie do wznowienia.

Domyślnie funkcja Resume-Job jest zwracana natychmiast, mimo że wszystkie zadania mogą nie zostać jeszcze wznowione. Aby pominąć wiersz polecenia do momentu wznowienia wszystkich określonych zadań, użyj parametru Wait.

Polecenie cmdlet Resume-Job działa tylko w przypadku niestandardowych typów zadań, takich jak zadania przepływu pracy. Nie działa w przypadku standardowych zadań w tle, takich jak te, które są uruchamiane przy użyciu polecenia cmdlet Start-Job. Jeśli prześlesz zadanie nieobsługiwanego typu, wznawianie zadania generuje błąd zakończenia i przestaje działać.

Aby zidentyfikować zadanie przepływu pracy, poszukaj wartości PSWorkflowJob w PSJobTypeName właściwości zadania. Aby określić, czy określony typ zadania niestandardowego obsługuje polecenie cmdlet Resume-Job, zobacz tematy pomocy dotyczące niestandardowego typu zadania.

Przed użyciem polecenia cmdlet zadania w niestandardowym typie zadania zaimportuj moduł obsługujący typ zadania niestandardowego przy użyciu polecenia cmdlet Import-Module lub pobierania lub używania polecenia cmdlet w module.

To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.

Przykłady

Przykład 1. Wznawianie zadania według identyfikatora

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

Polecenia w tym przykładzie sprawdzają, czy zadanie jest zawieszonym zadaniem przepływu pracy, a następnie wznów zadanie.

Przykład 2. Wznawianie zadania według nazwy

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

To polecenie używa parametru Name, aby wznowić kilka zadań przepływu pracy na komputerze lokalnym.

Przykład 3. Używanie niestandardowych wartości właściwości

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

To polecenie używa wartości właściwości niestandardowej do identyfikowania zadania przepływu pracy do wznowienia. Używa parametru Filter, aby zidentyfikować zadanie przepływu pracy według jego właściwości CustomID. Używa również parametru stanu , aby sprawdzić, czy zadanie przepływu pracy jest zawieszone, zanim podejmie próbę wznowienia.

Przykład 4: Wznawianie wszystkich zawieszonych zadań na komputerze zdalnym

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

To polecenie wznawia wszystkie wstrzymane zadania na komputerze zdalnym Srv01.

Polecenie używa polecenia cmdlet Invoke-Command do uruchomienia polecenia na komputerze Srv01. Zdalne polecenie używa parametru State polecenia cmdlet Get-Job, aby pobrać wszystkie wstrzymane zadania na komputerze. Operator potoku (|) wysyła zawieszone zadania do polecenia cmdlet Resume-Job, które je wznawia.

Przykład 5. Oczekiwanie na wznowienie zadań

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

To polecenie używa parametru Wait, aby kierować resume-job powrócić tylko po wznowieniu wszystkich określonych zadań. Parametr Wait jest szczególnie przydatny w skryptach, które zakładają, że zadania są wznawiane przed kontynuowanym działaniem skryptu.

Przykład 6. Wznawianie przepływu pracy, który zawiesza się

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

Polecenie cmdlet Resume-Job umożliwia wznowienie zadania przepływu pracy, które zostało zawieszone przy użyciu działania Suspend-Workflow. To działanie zawiesza przepływ pracy z poziomu przepływu pracy. Jest ona prawidłowa tylko w przepływach pracy.

Aby uzyskać informacje o przepływie pracy suspend-workflow, zobacz about_Suspend-Workflow.

Parametry

-Confirm

Monituje o potwierdzenie przed uruchomieniem polecenia cmdlet.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Filter

Określa tabelę skrótów warunków. To polecenie cmdlet wznawia zadania spełniające wszystkie warunki w tabeli skrótów. Wprowadź tabelę skrótów, w której klucze są właściwościami zadania, a wartości są wartościami właściwości zadania.

Typ:Hashtable
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Id

Określa tablicę identyfikatorów dla zadań, które to polecenie cmdlet wznawia.

Identyfikator jest liczbą całkowitą, która jednoznacznie identyfikuje zadanie w bieżącej sesji. Łatwiej jest zapamiętać identyfikator wystąpienia i wpisać go, ale jest on unikatowy tylko w bieżącej sesji. Można wpisać jeden lub więcej identyfikatorów rozdzielonych przecinkami. Aby znaleźć identyfikator zadania, uruchom polecenie Get-Job.

Typ:Int32[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-InstanceId

Określa tablicę identyfikatorów wystąpień zadań, które są wznawiane przez to polecenie cmdlet. Wartość domyślna to wszystkie zadania.

Identyfikator wystąpienia to identyfikator GUID, który jednoznacznie identyfikuje zadanie na komputerze. Aby znaleźć identyfikator wystąpienia zadania, uruchom polecenie Get-Job.

Typ:Guid[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Job

Określa zadania do wznowienia. Wprowadź zmienną zawierającą zadania lub polecenie, które pobiera zadania. Możesz również przekazać zadania potokowe do polecenia cmdlet Resume-Job.

Typ:Job[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Name

Określa tablicę przyjaznych nazw zadań, które to polecenie cmdlet wznawia. Wprowadź co najmniej jedną nazwę zadania. Dozwolone są symbole wieloznaczne.

Typ:String[]
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-State

Określa stan zadań do wznowienia. Dopuszczalne wartości tego parametru to:

  • Niestartowane
  • Bieganie
  • Zakończone
  • Nie powiodło się
  • Zatrzymany
  • Zablokowany
  • Zawieszony
  • Bezładny
  • Zawieszenie
  • Zatrzymanie

To polecenie cmdlet wznawia tylko zadania w stanie wstrzymane.

Aby uzyskać więcej informacji na temat stanów zadań, zobacz JobState Enumeration w bibliotece MSDN.

Typ:JobState
Dopuszczalne wartości:NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Wait

Wskazuje, że to polecenie cmdlet pomija wiersz polecenia do momentu ponownego uruchomienia wszystkich wyników zadania. Domyślnie to polecenie cmdlet natychmiast zwraca dostępne wyniki.

Typ:SwitchParameter
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie, jeśli polecenie cmdlet zostanie uruchomione. Polecenie cmdlet nie jest uruchamiane.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

Job

Do tego polecenia cmdlet można przekazać potoki wszystkich typów zadań. Jeśli resume-job pobiera zadanie nieobsługiwanego typu, zwraca błąd zakończenia.

Dane wyjściowe

None, System.Management.Automation.Job

To polecenie cmdlet zwraca zadania, które próbuje wznowić, jeśli używasz parametru PassThru. W przeciwnym razie to polecenie cmdlet nie generuje żadnych danych wyjściowych.

Uwagi

  • wznawiania zadań można wznowić tylko zadania, które są zawieszone. Jeśli przesyłasz zadanie w innym stanie, wznawiania zadania uruchamia operację wznawiania zadania, ale generuje ostrzeżenie informujące o tym, że nie można wznowić zadania. Aby pominąć ostrzeżenie, użyj WarningAction wspólnego parametru z wartością SilentlyContinue.
  • Jeśli zadanie nie jest typu, który obsługuje wznawianie, takie jak zadanie przepływu pracy (psWorkflowJob), Resume-Job zwraca błąd zakończenia.
  • Mechanizm i lokalizacja zapisywania zawieszonego zadania mogą się różnić w zależności od typu zadania. Na przykład zawieszone zadania przepływu pracy są domyślnie zapisywane w magazynie plików prostych, ale mogą być również zapisywane w bazie danych SQL.
  • Po wznowieniu zadania stan zadania zmieni się z Wstrzymane na Uruchomione. Aby znaleźć uruchomione zadania, w tym te, które zostały wznowione przez to polecenie cmdlet, użyj parametru State polecenia cmdlet get-Job Get-Job, aby pobrać zadania w stanie Uruchomione.
  • Niektóre typy zadań mają opcje lub właściwości uniemożliwiające wstrzymanie zadania przez program Windows PowerShell. Jeśli próba zawieszenia zadania nie powiedzie się, sprawdź, czy opcje i właściwości zadania zezwalają na wstrzymanie.