Resume-Job
Перезапуск приостановленного задания.
Синтаксис
SessionIdParameterSet (По умолчанию)
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>]
Описание
Командлет Resume-Job возобновляет приостановленное задание рабочего процесса, например с помощью командлета Suspend-Job или действия about_Suspend-Workflow. Когда задание рабочего процесса возобновляется, подсистема заданий восстанавливает состояние, метаданные и выходные данные из сохраненных ресурсов, таких как контрольные точки. Задание перезапущено без потери состояния или данных.
Состояние задания изменяется с приостановки на выполнение.
Используйте параметры Resume-Job для выбора заданий по имени, идентификатору, идентификатору экземпляра или каналу объекта задания, например одному из возвращаемых командлетом Get-Job, для Resume-Job. Вы также можете использовать фильтр свойств для выбора задания для возобновления.
По умолчанию Resume-Job возвращается немедленно, даже если все задания еще не будут возобновлены. Чтобы отключить командную строку до возобновления всех указанных заданий, используйте параметр Wait.
Командлет Resume-Job работает только в пользовательских типах заданий, таких как задания рабочего процесса. Он не работает на стандартных фоновых заданиях, таких как запущенные с помощью командлета Start-Job. Если вы отправляете задание неподдерживаемого типа, Resume-Job создает завершающуюся ошибку и перестает работать.
Чтобы определить задание рабочего процесса, найдите значение PSWorkflowJob в свойстве PSJobTypeName задания. Чтобы определить, поддерживает ли определенный настраиваемый тип задания командлет Resume-Job, см. разделы справки для пользовательского типа задания.
Прежде чем использовать командлет задания для пользовательского типа задания, импортируйте модуль, поддерживающий настраиваемый тип задания, с помощью командлета Import-Module или получения или использования командлета в модуле.
Этот командлет был введён в Windows PowerShell 3.0.
Примеры
Пример 1. Возобновление задания по идентификатору
Команды в этом примере проверяют, является ли задание приостановленным рабочим процессом, а затем возобновляет задание. Первая команда использует командлет Get-Job для получения задания. Выходные данные показывают, что задание является приостановленным заданием рабочего процесса. Вторая команда использует параметр id командлета Resume-Job для возобновления задания с значением идентификатора 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
Пример 2. Возобновление задания по имени
Эта команда использует параметр Name для возобновления нескольких заданий рабочего процесса на локальном компьютере.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
Пример 3. Использование значений настраиваемых свойств
Эта команда использует значение настраиваемого свойства для определения задания рабочего процесса для возобновления. Он использует параметр filter для идентификации задания рабочего процесса по свойству CustomID. Он также использует параметр состояния
PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended
Пример 4. Возобновление всех приостановленных заданий на удаленном компьютере
Эта команда возобновляет все приостановленные задания на удаленном компьютере Srv01.
PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
Команда использует командлет Invoke-Command для выполнения команды на компьютере Srv01. Удаленная команда использует параметр state командлета Get-Job для получения всех приостановленных заданий на компьютере. Оператор конвейера (|) отправляет приостановленные задания в командлет Resume-Job, который возобновляет их.
Пример 5. Ожидание возобновления заданий
Эта команда использует параметр ожидания, чтобы направлять Resume-Job только после возобновления всех указанных заданий. Параметр ожидания
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
Пример 6. Возобновление рабочего процесса, который приостанавливает себя
В этом примере кода показаны действия Suspend-Workflow в рабочем процессе.
Рабочий процесс Test-Suspend на компьютере Server01. При запуске рабочего процесса рабочий процесс запускает действие Get-Date и сохраняет результат в переменной $a. Затем он запускает действие Suspend-Workflow. В ответ он принимает контрольную точку, приостанавливает рабочий процесс и возвращает объект задания рабочего процесса.
Suspend-Workflow возвращает объект задания рабочего процесса, даже если рабочий процесс не выполняется явным образом в качестве задания.
Resume-Job возобновляет рабочий процесс Test-Suspend в Job8. Он использует параметр wait для хранения командной строки до возобновления задания.
Командлет Receive-Job получает результаты рабочего процесса Test-Suspend. Последняя команда в рабочем процессе возвращает объект TimeSpan, представляющий истекшее время между текущей датой и временем и временем, сохраненным в переменной $a до приостановки рабочего процесса.
#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
Командлет Resume-Job позволяет возобновить задание рабочего процесса, которое было приостановлено с помощью действия Suspend-Workflow. Это действие приостанавливает рабочий процесс в рабочем процессе. Он действителен только в рабочих процессах.
Сведения о Suspend-Workflowсм. в разделе about_Suspend-Workflow](.). /PSWorkflow/about/about_Suspend-Workflow.md).
Параметры
-Confirm
Запрашивает подтверждение перед запуском cmdlet.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | cf |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-Filter
Задает хэш-таблицу условий. Этот командлет возобновляет задания, удовлетворяющие всем условиям в хэш-таблице. Введите хеш-таблицу, в которой ключи являются свойствами задания, а значения — значениями свойств задания.
Свойства параметров
| Тип: | Hashtable |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
FilterParameterSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Id
Задает массив идентификаторов для заданий, возобновляемых этим командлетом.
Идентификатор — это целое число, которое однозначно идентифицирует задание в текущем сеансе. Проще помнить и вводить идентификатор экземпляра, но он является уникальным только в текущем сеансе. Можно ввести один или несколько идентификаторов, разделенных запятыми. Чтобы найти идентификатор задания, выполните Get-Job.
Свойства параметров
| Тип: | Int32[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
SessionIdParameterSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-InstanceId
Задает массив идентификаторов экземпляров заданий, возобновляемых этим командлетом. Значение по умолчанию — все задания.
Идентификатор экземпляра — это GUID, который однозначно идентифицирует задание на компьютере. Чтобы найти идентификатор экземпляра задания, выполните Get-Job.
Свойства параметров
| Тип: | Guid[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
InstanceIdParameterSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Job
Указывает задания, которые нужно возобновить. Введите переменную, содержащую задания или команду, которая получает задания. Можно также передать задания в командлет Resume-Job.
Свойства параметров
| Тип: | Job[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
JobParameterSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | True |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Name
Задает массив понятных имен заданий, возобновляемых этим командлетом. Введите одно или несколько имен заданий. Разрешено использование подстановочных символов.
Свойства параметров
| Тип: | String[] |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
NameParameterSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-State
Указывает состояние возобновления заданий. Допустимые значения для этого параметра:
- Не начато
- Бег
- Завершено
- Неудача
- Остановился
- Заблокировано
- Подвешенный
- Отключен
- Приостановка
- Остановка
Этот командлет возобновляет задания только в состоянии приостановки
Дополнительные сведения о состояниях заданий см. в перечисления JobState.
Свойства параметров
| Тип: | JobState |
| Default value: | None |
| Допустимые значения: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
StateParameterSet
| Position: | 0 |
| Обязательно: | True |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | True |
| Значение из оставшихся аргументов: | False |
-Wait
Указывает, что этот командлет подавляет командную строку до перезапуска всех результатов задания. По умолчанию этот командлет немедленно возвращает доступные результаты.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | None |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
-WhatIf
Показывает, что произойдет, если командлет будет запущен. Командлет не запускается.
Свойства параметров
| Тип: | SwitchParameter |
| Default value: | False |
| Поддерживаются подстановочные знаки: | False |
| DontShow: | False |
| Aliases: | wi |
Наборы параметров
(All)
| Position: | Named |
| Обязательно: | False |
| Значение из конвейера: | False |
| Значение из конвейера по имени свойства: | False |
| Значение из оставшихся аргументов: | False |
CommonParameters
Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.
Входные данные
Job
Вы можете передать все типы заданий в этот командлет. Если Resume-Job получает задание неподдерживаемого типа, возвращается завершающая ошибка.
Выходные данные
None, System.Management.Automation.Job
Этот командлет возвращает задания, которые он пытается возобновить, если используется параметр PassThru. В противном случае этот командлет не создает выходные данные.
Примечания
Windows PowerShell включает следующие псевдонимы для Resume-Job:
rujbResume-Jobмогут возобновлять только приостановленные задания. Если вы отправляете задание в другом состоянии,Resume-Jobзапускает операцию возобновления задания, но создает предупреждение, чтобы уведомить вас о том, что задание не удалось возобновить. Чтобы отключить предупреждение, используйте WarningAction общий параметр со значением SilentlyContinue.Если задание не является типом, поддерживающим возобновление, например задание рабочего процесса (PSWorkflowJob),
Resume-Jobвозвращает завершающую ошибку.Механизм и расположение для сохранения приостановленного задания может отличаться в зависимости от типа задания. Например, приостановленные задания рабочего процесса сохраняются в неструктурированном хранилище файлов по умолчанию, но также могут быть сохранены в базе данных SQL.
При возобновлении задания состояние задания изменяется с Приостановка на выполнение. Чтобы найти выполняемые задания, в том числе те, которые были возобновлены этим командлетом, используйте параметр состояния состояния командлета
Get-Jobдля получения заданий в состоянии запуска.Некоторые типы заданий имеют параметры или свойства, которые не позволяют Windows PowerShell приостановить задание. Если попытка приостановить задание завершается ошибкой, убедитесь, что параметры и свойства задания разрешают приостановку.