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 Resume-Job
cmdlet retoma um trabalho de fluxo de trabalho que foi suspenso, como usando o Suspend-Job
cmdlet 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 de recursos salvos, como pontos de verificação. O trabalho é reiniciado sem perda de estado ou dados.
O estado do trabalho é alterado de Suspenso para Em execução.
Use os parâmetros de para selecionar trabalhos por nome, ID, ID da instância ou canalizar um objeto de Resume-Job
trabalho, como um retornado pelo Get-Job
cmdlet, para Resume-Job
. Você também pode usar um filtro de propriedade para selecionar um trabalho a ser retomado.
Por padrão, Resume-Job
retorna imediatamente, mesmo que todos os trabalhos ainda não tenham sido retomados. Para suprimir o prompt de comando até que todos os trabalhos especificados sejam retomados, use o parâmetro Wait .
O Resume-Job
cmdlet 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 que são iniciados usando o Start-Job
cmdlet. Se você enviar um trabalho de um tipo sem suporte, Resume-Job
o gera um erro de encerramento e interrompe 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 determinado tipo de trabalho personalizado dá suporte ao Resume-Job
cmdlet, consulte os tópicos de ajuda para o tipo de trabalho personalizado.
Antes de usar um cmdlet Job em um tipo de trabalho personalizado, importe o módulo que dá suporte ao tipo de trabalho personalizado, usando o Import-Module
cmdlet ou obtendo ou usando um cmdlet no módulo.
Este cmdlet foi introduzido no Windows PowerShell 3.0.
Exemplos
Exemplo 1: Retomar um trabalho por ID
Os comandos neste exemplo confirmam que o trabalho é uma tarefa de fluxo de trabalho suspensa e, em seguida, reiniciam o trabalho. O primeiro comando usa o Get-Job
cmdlet para obter o trabalho. A saída mostra que o trabalho é um trabalho de fluxo de trabalho suspenso. O segundo comando usa o parâmetro Id do Resume-Job
cmdlet para retomar o trabalho com um valor de Id de 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
Exemplo 2: Retomar um trabalho por nome
Esse comando usa o parâmetro Name para retomar vários trabalhos de fluxo de trabalho no computador local.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
Exemplo 3: Usar valores de propriedade personalizada
Este comando usa o valor de uma propriedade personalizada para identificar a tarefa de fluxo de trabalho a retomar. Ele usa o parâmetro Filter para identificar o trabalho de fluxo de trabalho por sua propriedade CustomID . Ele também usa o parâmetro State para verificar se o trabalho de fluxo de trabalho está suspenso, antes de tentar retomá-lo.
PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended
Exemplo 4: Retomar todos os trabalhos suspensos em um computador remoto
Este comando retoma todos os trabalhos suspensos no computador remoto Srv01.
PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
O comando usa o Invoke-Command
cmdlet para executar um comando no computador Srv01. O comando remoto usa o parâmetro State do Get-Job
cmdlet para obter todos os trabalhos suspensos no computador. Um operador de pipeline (|
) envia os trabalhos suspensos para o Resume-Job
cmdlet, que os retoma.
Exemplo 5: Aguardar a retomada dos trabalhos
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.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
Exemplo 6: Retomar um fluxo de trabalho que se suspende
Este exemplo de código mostra a Suspend-Workflow
atividade em um fluxo de trabalho.
O Test-Suspend
fluxo de trabalho no computador Server01. Quando você executa o fluxo de trabalho, o fluxo de trabalho executa a Get-Date
atividade e armazena o $a
resultado na variável. Em seguida, ele executa a Suspend-Workflow
atividade. Em resposta, ele usa um ponto de verificação, suspende o fluxo de trabalho e retorna um objeto de trabalho de fluxo de trabalho. Suspend-Workflow
Retorna um objeto de trabalho de fluxo de trabalho, mesmo que o fluxo de trabalho não seja executado explicitamente como um trabalho.
Resume-Job
retoma o Test-Suspend
fluxo de trabalho no Job8. Ele usa o parâmetro Wait para manter o prompt de comando até que o trabalho seja retomado.
O Receive-Job
cmdlet obtém os resultados do fluxo de Test-Suspend
trabalho. O comando final no fluxo de trabalho retorna um objeto TimeSpan que representa o tempo decorrido entre a data e hora atuais e a data e hora que foram salvas na $a
variável antes da suspensão do fluxo de trabalho.
#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
O Resume-Job
cmdlet permite retomar um trabalho de fluxo de trabalho que foi suspenso usando a Suspend-Workflow
atividade. Essa atividade suspende um fluxo de trabalho de dentro de um fluxo de trabalho. Isso só é válido em fluxos de trabalho.
Para obter informações sobre o Suspend-Workflow
, consulte about_Suspend-Workflow](.. /PSWorkflow/about/about_Suspend-Workflow.md).
Parâmetros
-Confirm
Solicita sua 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 hash de condições. Esse cmdlet retoma trabalhos que atendem a todas as condições na tabela de hash. Insira uma tabela de hash na qual as chaves são propriedades do 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 esse cmdlet retoma.
O ID é um inteiro que identifica exclusivamente o trabalho na sessão atual. É mais fácil de lembrar e digitar do que o ID da instância, mas é exclusivo apenas na sessão atual. Você pode digitar uma ou mais IDs, separadas por vírgulas. Para localizar 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 esse cmdlet retoma. O padrão é obter 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 os obtenha. Você também pode canalizar trabalhos para o Resume-Job
cmdlet.
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 esse 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 esse parâmetro são:
- NotStarted
- Executando
- Concluído(a)
- Com falha
- Parado
- Bloqueado
- Suspenso
- Desconectado
- Suspensão
- Parando
Esse cmdlet retoma apenas trabalhos no estado Suspenso .
Para obter mais informações sobre estados de trabalho, consulte Enumeração JobState.
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 esse cmdlet. Se Resume-Job
obtiver um trabalho de um tipo sem suporte, ele retornará 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 PassThru . Caso contrário, este cmdlet não gera nenhuma saída.
Observações
O Windows PowerShell inclui os seguintes aliases para Resume-Job
:
rujb
Resume-Job
só pode retomar trabalhos suspensos. Se você enviar um trabalho em um estado diferente,Resume-Job
o executará a operação de retomada no trabalho, mas gerará um aviso para notificá-lo de que o trabalho não pôde ser retomado. Para suprimir o aviso, use o parâmetro comum WarningAction 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),
Resume-Job
retornará um erro de encerramento.O mecanismo e o local para salvar um trabalho suspenso podem variar, dependendo do tipo do trabalho. Por exemplo, tarefas de fluxo de trabalho suspensas são salvas em um repositório de arquivo simples por padrão, mas também podem ser salvas em um banco de dados SQL.
Quando você retoma um trabalho, o estado do trabalho muda de Suspenso para Em execução. Para localizar os trabalhos que estão em execução, incluindo aqueles que foram retomados por esse cmdlet, use o parâmetro State do
Get-Job
cmdlet para obter trabalhos no estado Running .Alguns tipos de trabalho têm opções ou propriedades que impedem que o Windows PowerShell suspenda o trabalho em questão. Se as tentativas de suspender o trabalho falharem, verifique se as opções e propriedades do trabalho permitem a suspensão.