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
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
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-JobGet-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.