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 Resume-Job
cmdlet wznawia zadanie przepływu pracy, które zostało zawieszone, na przykład za pomocą Suspend-Job
polecenia cmdlet 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 został zmieniony z Zawieszone na Uruchomione.
Użyj parametrów , Resume-Job
aby wybrać zadania według nazwy, identyfikatora, identyfikatora wystąpienia lub potoku obiektu zadania, takiego jak jeden zwrócony przez Get-Job
polecenie cmdlet, do Resume-Job
. Możesz również użyć filtru właściwości, aby wybrać zadanie do wznowienia.
Domyślnie Resume-Job
funkcja zwraca 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 Resume-Job
cmdlet 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 Start-Job
polecenia cmdlet . Jeśli prześlesz zadanie nieobsługiwanego typu, Resume-Job
wygeneruje błąd zakończenia i przestanie działać.
Aby zidentyfikować zadanie przepływu pracy, poszukaj wartości zadania PSWorkflowJob we właściwości PSJobTypeName zadania. Aby określić, czy określony typ zadania niestandardowego obsługuje Resume-Job
polecenie cmdlet, zobacz tematy pomocy dla niestandardowego typu zadania.
Przed użyciem polecenia cmdlet Zadania w niestandardowym typie zadania zaimportuj moduł obsługujący typ zadania niestandardowego przy użyciu Import-Module
polecenia cmdlet 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
Polecenia w tym przykładzie sprawdzają, czy zadanie jest zawieszonym zadaniem przepływu pracy, a następnie wznów zadanie. Pierwsze polecenie używa Get-Job
polecenia cmdlet do pobrania zadania. Dane wyjściowe pokazują, że zadanie jest zawieszonym zadaniem przepływu pracy. Drugie polecenie używa parametru Resume-Job
Id polecenia cmdlet, aby wznowić zadanie z wartością Identyfikator 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
Przykład 2. Wznawianie zadania według nazwy
To polecenie używa parametru Name , aby wznowić kilka zadań przepływu pracy na komputerze lokalnym.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
Przykład 3. Używanie niestandardowych wartości właściwości
To polecenie używa wartości właściwości niestandardowej do identyfikowania zadania przepływu pracy do wznowienia. Używa parametru Filter do identyfikowania zadania przepływu pracy według jego właściwości CustomID . Używa również parametru State , aby sprawdzić, czy zadanie przepływu pracy jest zawieszone, zanim podejmie próbę wznowienia.
PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended
Przykład 4: Wznawianie wszystkich zawieszonych zadań na komputerze zdalnym
To polecenie wznawia wszystkie wstrzymane zadania na komputerze zdalnym Srv01.
PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
Polecenie używa Invoke-Command
polecenia cmdlet do uruchomienia polecenia na komputerze Srv01. Zdalne polecenie używa parametru Get-Job
State polecenia cmdlet, aby pobrać wszystkie wstrzymane zadania na komputerze. Operator potoku (|
) wysyła zawieszone zadania do Resume-Job
polecenia cmdlet, które je wznawia.
Przykład 5. Oczekiwanie na wznowienie zadań
To polecenie używa parametru Wait , aby kierować Resume-Job
polecenie, aby zwró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.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
Przykład 6. Wznawianie przepływu pracy, który zawiesza się
Ten przykładowy kod przedstawia Suspend-Workflow
działanie w przepływie pracy.
Przepływ Test-Suspend
pracy na komputerze Server01. Po uruchomieniu przepływu pracy przepływ pracy uruchamia Get-Date
działanie i zapisuje wynik w zmiennej $a
. Następnie uruchamia Suspend-Workflow
działanie. W odpowiedzi przyjmuje punkt kontrolny, zawiesza przepływ pracy i zwraca obiekt zadania przepływu pracy. Suspend-Workflow
Zwraca obiekt zadania przepływu pracy, nawet jeśli przepływ pracy nie jest jawnie uruchamiany jako zadanie.
Resume-Job
wznawia Test-Suspend
przepływ pracy w zadaniu8. Używa parametru Wait do przechowywania wiersza polecenia do momentu wznowienia zadania.
Polecenie Receive-Job
cmdlet pobiera wyniki Test-Suspend
przepływu pracy. Ostatnie polecenie w przepływie pracy zwraca obiekt TimeSpan , który reprezentuje czas, który upłynął między bieżącą datą i godziną a datą i godziną zapisaną w $a
zmiennej przed wstrzymaniem przepływu pracy.
#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
Polecenie Resume-Job
cmdlet umożliwia wznowienie zadania przepływu pracy, które zostało zawieszone przy użyciu Suspend-Workflow
działania. 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 Suspend-Workflow
obiekcie , zobacz about_Suspend-Workflow](.. /PSWorkflow/about/about_Suspend-Workflow.md).
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 Resume-Job
do polecenia cmdlet.
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:
- Nierozpoczęte
- Uruchomiono
- Ukończone
- Niepowodzenie
- Zatrzymana
- Zablokowano
- Suspended
- Odłączony
- Zawieszanie
- Zatrzymywanie
To polecenie cmdlet wznawia tylko zadania w stanie Wstrzymanie .
Aby uzyskać więcej informacji na temat stanów zadań, zobacz JobState, wyliczenie.
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 po uruchomieniu polecenia cmdlet. Polecenie cmdlet nie zostało uruchomione.
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
Program Windows PowerShell zawiera następujące aliasy dla programu Resume-Job
:
rujb
Resume-Job
może wznawiać tylko zadania, które są zawieszone. Jeśli przesyłasz zadanie w innym stanie,Resume-Job
uruchamia operację wznawiania zadania, ale generuje ostrzeżenie informujące o tym, że nie można wznowić zadania. Aby pominąć ostrzeżenie, użyj wspólnego parametru WarningAction 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 Zawieszone na Uruchomione. Aby znaleźć uruchomione zadania, w tym te, które zostały wznowione przez to polecenie cmdlet, użyj parametru
Get-Job
State polecenia cmdlet, aby pobrać zadania w stanie Uruchomiony.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.