Resume-Job
Reinicia un trabajo suspendido.
Sintaxis
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
El Resume-Job
cmdlet reanuda un trabajo de flujo de trabajo suspendido, como mediante el Suspend-Job
cmdlet o la actividad about_Suspend-Workflow . Cuando se reanuda un trabajo de flujo de trabajo, el motor de trabajos reconstruye el estado, los metadatos y la salida de los recursos guardados, como los puntos de control. El trabajo se reinicia sin pérdida de estado o datos.
El estado del trabajo se cambia de Suspendido a En ejecución.
Use los parámetros de Resume-Job
para seleccionar trabajos por nombre, identificador, identificador de instancia o canalización de un objeto de trabajo, como uno devuelto por el Get-Job
cmdlet, a Resume-Job
. También puede usar un filtro de propiedad para seleccionar el trabajo que reanudar.
De forma predeterminada, Resume-Job
devuelve inmediatamente, aunque es posible que todos los trabajos aún no se reanudan. Para suprimir el símbolo del sistema hasta que se reanudan todos los trabajos especificados, use el parámetro Wait .
El Resume-Job
cmdlet solo funciona en tipos de trabajo personalizados, como trabajos de flujo de trabajo. No funciona en trabajos en segundo plano estándar, como los que se inician mediante el Start-Job
cmdlet . Si envía un trabajo de un tipo no admitido, Resume-Job
genera un error de terminación y deja de ejecutarse.
Para identificar un trabajo de flujo de trabajo, busque un valor de PSWorkflowJob en la propiedad PSJobTypeName del trabajo. Para determinar si un tipo de trabajo personalizado determinado admite el Resume-Job
cmdlet, consulte los temas de ayuda del tipo de trabajo personalizado.
Antes de usar un cmdlet Job en un tipo de trabajo personalizado, importe el módulo que admite el tipo de trabajo personalizado, ya sea mediante el Import-Module
cmdlet o la obtención o el uso de un cmdlet en el módulo.
Este cmdlet se introdujo en Windows PowerShell 3.0.
Ejemplos
Ejemplo 1: Reanudar un trabajo por identificador
Los comandos de este ejemplo comprueban que la tarea es una tarea del flujo de trabajo suspendida y, después, reanudan la tarea. El primer comando usa el Get-Job
cmdlet para obtener el trabajo. La salida muestra que el trabajo es un trabajo de flujo de trabajo suspendido. El segundo comando usa el parámetro Id del Resume-Job
cmdlet para reanudar el trabajo con un valor 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
Ejemplo 2: Reanudar un trabajo por nombre
Este comando usa el parámetro Name para reanudar varios trabajos de flujo de trabajo en el equipo local.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest*
Ejemplo 3: Usar valores de propiedad personalizados
Este comando usa el valor de una propiedad personalizada para identificar la tarea del flujo de trabajo que reanudar. Usa el parámetro Filter para identificar el trabajo de flujo de trabajo por su propiedad CustomID . También usa el parámetro State para comprobar que el trabajo de flujo de trabajo está suspendido, antes de intentar reanudarlo.
PS C:\> Resume-Job -Filter @{CustomID="T091291"} -State Suspended
Ejemplo 4: Reanudar todos los trabajos suspendidos en un equipo remoto
Este comando reanuda todas las tareas suspendidas en el equipo remoto Srv01.
PS C:\> Invoke-Command -ComputerName Srv01 -ScriptBlock {Get-Job -State Suspended | Resume-Job}
El comando usa el Invoke-Command
cmdlet para ejecutar un comando en el equipo Srv01. El comando remoto usa el parámetro State del Get-Job
cmdlet para obtener todos los trabajos suspendidos en el equipo. Un operador de canalización (|
) envía los trabajos suspendidos al Resume-Job
cmdlet , que los reanuda.
Ejemplo 5: Esperar a que se reanuden los trabajos
Este comando usa el parámetro Wait para dirigir Resume-Job
para devolver solo después de reanudar todos los trabajos especificados. El parámetro Wait es especialmente útil en los scripts que asumen que los trabajos se reanudan antes de que continúe el script.
PS C:\> Resume-Job -Name WorkflowJob, InventoryWorkflow, WFTest* -Wait
Ejemplo 6: Reanudar un flujo de trabajo que se suspende
En este ejemplo de código se muestra la Suspend-Workflow
actividad en un flujo de trabajo.
Flujo Test-Suspend
de trabajo en el equipo Server01. Al ejecutar el flujo de trabajo, el flujo de trabajo ejecuta la Get-Date
actividad y almacena el resultado en la $a
variable . A continuación, ejecuta la Suspend-Workflow
actividad. En respuesta, toma un punto de control, suspende el flujo de trabajo y devuelve un objeto de trabajo de flujo de trabajo. Suspend-Workflow
devuelve un objeto de trabajo de flujo de trabajo aunque el flujo de trabajo no se ejecute explícitamente como un trabajo.
Resume-Job
reanuda el Test-Suspend
flujo de trabajo en Job8. Usa el parámetro Wait para contener el símbolo del sistema hasta que se reanude el trabajo.
El Receive-Job
cmdlet obtiene los resultados del Test-Suspend
flujo de trabajo. El comando final del flujo de trabajo devuelve un objeto TimeSpan que representa la hora transcurrido entre la fecha y hora actual y la fecha y hora que se guardó en la $a
variable antes de que se suspendiera el flujo de trabajo.
#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
El Resume-Job
cmdlet permite reanudar un trabajo de flujo de trabajo que se suspendió mediante la Suspend-Workflow
actividad . Esta actividad suspende un flujo de trabajo de un flujo de trabajo. Es válida únicamente en flujos de trabajo.
Para obtener información sobre , Suspend-Workflow
vea about_Suspend-Workflow](.. /PSWorkflow/about/about_Suspend-Workflow.md).
Parámetros
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Filter
Especifica una tabla hash de condiciones. Este cmdlet reanuda los trabajos que cumplen todas las condiciones de la tabla hash. Especifique una tabla hash donde las claves sean propiedades de una tarea y los valores sean valores de propiedad de la tarea.
Tipo: | Hashtable |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Id
Especifica una matriz de identificadores para los trabajos que reanuda este cmdlet.
El identificador es un entero que identifica de forma única el trabajo en la sesión actual. Es más fácil recordar y escribir que el identificador de instancia, pero solo es único en la sesión actual. Puede escribir uno o varios identificadores, separados por comas. Para buscar el identificador de un trabajo, ejecute Get-Job
.
Tipo: | Int32[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-InstanceId
Especifica una matriz de identificadores de instancia de trabajos que reanuda este cmdlet. El valor predeterminado es todas las tareas.
Un identificador de instancia es un GUID que identifica de forma única la tarea en el equipo. Para buscar el identificador de instancia de un trabajo, ejecute Get-Job
.
Tipo: | Guid[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Job
Especifica las tareas que se van a reanudar. Escriba una variable que contenga las tareas o un comando que obtenga las tareas. También puede canalizar trabajos al Resume-Job
cmdlet .
Tipo: | Job[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Name
Especifica una matriz de nombres descriptivos de trabajos que reanuda este cmdlet. Escriba uno o más nombres de tareas. Se permite el uso de caracteres comodín.
Tipo: | String[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-State
Especifica el estado de los trabajos que se van a reanudar. Los valores permitidos para este parámetro son los siguientes:
- NotStarted
- En ejecución
- Completado
- Errónea
- Detenido
- Bloqueado
- Suspended
- Escenario desconectado
- Suspendiendo
- Deteniéndose
Este cmdlet reanuda solo los trabajos en estado Suspendido .
Para obtener más información sobre los estados de trabajo, vea JobState (enumeración).
Tipo: | JobState |
Valores aceptados: | NotStarted, Running, Completed, Failed, Stopped, Blocked, Suspended, Disconnected, Suspending, Stopping, AtBreakpoint |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Wait
Indica que este cmdlet suprime el símbolo del sistema hasta que se reinicien todos los resultados del trabajo. De forma predeterminada, este cmdlet devuelve inmediatamente los resultados disponibles.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar todos los tipos de trabajos a este cmdlet. Si Resume-Job
obtiene un trabajo de un tipo no admitido, devuelve un error de terminación.
Salidas
None, System.Management.Automation.Job
Este cmdlet devuelve los trabajos que intenta reanudar, si usa el parámetro PassThru . De lo contrario, este cmdlet no genera resultados.
Notas
Windows PowerShell incluye los siguientes alias para Resume-Job
:
rujb
Resume-Job
solo puede reanudar trabajos suspendidos. Si envía un trabajo en un estado diferente,Resume-Job
ejecuta la operación de reanudación en el trabajo, pero genera una advertencia para notificarle que no se pudo reanudar el trabajo. Para suprimir la advertencia, use el parámetro común WarningAction con un valor de SilentlyContinue.Si un trabajo no es de un tipo que admite la reanudación, como un trabajo de flujo de trabajo (PSWorkflowJob),
Resume-Job
devuelve un error de terminación.El mecanismo y la ubicación para guardar una tarea suspendida pueden variar según el tipo de tarea. Por ejemplo, las tareas del flujo de trabajo suspendidas se guardan en un almacén de archivos sin formato de manera predeterminada, pero también pueden guardarse en una base de datos SQL.
Cuando reanuda un trabajo, el estado del trabajo cambia de Suspendido a En ejecución. Para buscar los trabajos que se ejecutan, incluidos los que reanudó este cmdlet, use el parámetro State del
Get-Job
cmdlet para obtener trabajos en estado En ejecución .Algunos tipos de tarea tienen opciones o propiedades que impiden que Windows PowerShell suspenda la tarea. Si se intenta suspender el trabajo, compruebe que las opciones y propiedades del trabajo permiten suspender.