Resume-Job
Reinicia um trabalho suspenso.
Sintaxe
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>]
Description
O cmdlet Resume-Job retoma um trabalho de fluxo de trabalho que foi suspenso, como usando o cmdlet Suspend-Job ou a atividade about_Suspend-Workflow. Quando um trabalho de fluxo de trabalho é retomado, o mecanismo de trabalho reconstrói o estado, os metadados e a saída dos recursos salvos, como pontos de verificação. O trabalho é reiniciado sem perda de estado ou dados. O estado do trabalho é alterado de Suspenso para Executando.
Use os parâmetros de resume-job para selecionar trabalhos por nome, ID, ID da instância ou pipe de um objeto de trabalho, como um retornado pelo cmdlet Get-Job, para resume-job. Você também pode usar um filtro de propriedade para selecionar um trabalho a ser retomado.
Por padrão, de trabalho de retomada retorna imediatamente, embora todos os trabalhos ainda não possam ser retomados. Para suprimir o prompt de comando até que todos os trabalhos especificados sejam retomados, use o parâmetro Wait.
O cmdlet Resume-Job funciona apenas em tipos de trabalho personalizados, como trabalhos de fluxo de trabalho. Ele não funciona em trabalhos em segundo plano padrão, como aqueles iniciados usando o cmdlet Start-Job. Se você enviar um trabalho de um tipo sem suporte, de Trabalho De Retomada gerará um erro de encerramento e interromperá a execução.
Para identificar um trabalho de fluxo de trabalho, procure um valor de PSWorkflowJob na propriedade PSJobTypeName do trabalho.
Para determinar se um tipo de trabalho personalizado específico dá suporte ao cmdlet
Antes de usar um cmdlet de trabalho em um tipo de trabalho personalizado, importe o módulo que dá suporte ao tipo de trabalho personalizado, usando o cmdlet Import-Module ou obtendo ou usando um cmdlet no módulo.
Esse cmdlet foi introduzido no Windows PowerShell 3.0.
Exemplos
Exemplo 1: Retomar um trabalho por 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 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
Os comandos neste exemplo verificam se o trabalho é um trabalho de fluxo de trabalho suspenso e, em seguida, retomam o trabalho.
Exemplo 2: retomar um trabalho por nome
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
Esse comando usa o parâmetro Name para retomar vários trabalhos de fluxo de trabalho no computador local.
Exemplo 3: Usar valores de propriedade personalizados
PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended
Esse comando usa o valor de uma propriedade personalizada para identificar o trabalho de fluxo de trabalho a ser retomado.
Ele usa o parâmetro
Exemplo 4: retomar todos os trabalhos suspensos em um computador remoto
PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
Esse comando retoma todos os trabalhos suspensos no computador remoto Srv01.
O comando usa o cmdlet Invoke-Command para executar um comando no computador Srv01.
O comando remoto usa o parâmetro
Exemplo 5: aguarde a retomada dos trabalhos
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
Esse comando usa o parâmetro Wait para direcionar resume-job para retornar somente depois que todos os trabalhos especificados forem retomados. O parâmetro Wait é especialmente útil em scripts que pressupõem que os trabalhos sejam retomados antes que o script continue.
Exemplo 6: retomar um fluxo de trabalho que se suspende
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
O cmdlet
Para obter informações sobre o fluxo de trabalho de suspensão, consulte about_Suspend-Workflow.
Parâmetros
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Filter
Especifica uma tabela de condições de hash. Esse cmdlet retoma trabalhos que atendem a todas as condições na tabela de hash. Insira uma tabela de hash em que as chaves são propriedades de trabalho e os valores são valores de propriedade do trabalho.
Tipo: | Hashtable |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Id
Especifica uma matriz de IDs para trabalhos que este cmdlet retoma.
A ID é um inteiro que identifica exclusivamente o trabalho na sessão atual. É mais fácil lembrar e digitar do que a ID da instância, mas ela é exclusiva apenas na sessão atual. Você pode digitar uma ou mais IDs, separadas por vírgulas. Para encontrar a ID de um trabalho, execute Get-Job.
Tipo: | Int32[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-InstanceId
Especifica uma matriz de IDs de instância de trabalhos que este cmdlet retoma. O padrão é todos os trabalhos.
Uma ID de instância é um GUID que identifica exclusivamente o trabalho no computador. Para localizar a ID da instância de um trabalho, execute get-job.
Tipo: | Guid[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Job
Especifica os trabalhos a serem retomados.
Insira uma variável que contenha os trabalhos ou um comando que obtém os trabalhos.
Você também pode redirecionar trabalhos para o cmdlet de trabalho de
Tipo: | Job[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Name
Especifica uma matriz de nomes amigáveis de trabalhos que este cmdlet retoma. Insira um ou mais nomes de trabalho. Caracteres curinga são permitidos.
Tipo: | String[] |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-State
Especifica o estado dos trabalhos a serem retomados. Os valores aceitáveis para este parâmetro são:
- NotStarted
- Executando
- Concluído
- Falhou
- Parado
- Bloqueado
- Suspenso
- Desconectado
- Suspender
- Parar
Esse cmdlet retoma apenas os trabalhos no estado de suspenso
Para obter mais informações sobre estados de trabalho, consulte de Enumeração JobState na biblioteca MSDN.
Tipo: | JobState |
Valores aceitos: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Wait
Indica que esse cmdlet suprime o prompt de comando até que todos os resultados do trabalho sejam reiniciados. Por padrão, esse cmdlet retorna imediatamente os resultados disponíveis.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar todos os tipos de trabalhos para este cmdlet. Se resume-job obtém um trabalho de um tipo sem suporte, ele retorna um erro de encerramento.
Saídas
None, System.Management.Automation.Job
Esse cmdlet retorna os trabalhos que ele tenta retomar se você usar o parâmetro
Observações
- de trabalho de retomada só pode retomar os trabalhos suspensos. Se você enviar um trabalho em um estado diferente, executará a operação de retomada no trabalho, mas gerará um aviso para notificar que o trabalho não pôde ser retomado. Para suprimir o aviso, use o WarningAction parâmetro comum com um valor de SilentlyContinue.
- Se um trabalho não for de um tipo que dê suporte à retomada, como um trabalho de fluxo de trabalho (PSWorkflowJob), de Trabalho de Currículo retornará um erro de encerramento.
- O mecanismo e o local para salvar um trabalho suspenso podem variar dependendo do tipo de trabalho. Por exemplo, trabalhos de fluxo de trabalho suspensos são salvos em um repositório de arquivos simples por padrão, mas também podem ser salvos em um banco de dados SQL.
- Quando você retoma um trabalho, o estado do trabalho muda de Suspenso para Executando. Para localizar os trabalhos em execução, incluindo aqueles que foram retomados por esse cmdlet, use o parâmetro
State do cmdletGet-Job para obter trabalhos no estado em execução do . - Alguns tipos de trabalho têm opções ou propriedades que impedem o Windows PowerShell de suspender o trabalho. Se as tentativas de suspender o trabalho falharem, verifique se as opções de trabalho e as propriedades permitem a suspensão.