¿Cómo ejecutar una tarea programada después de que se completa otra tarea?

El Programador de tareas de Windows le permite ejecutar tareas según lo programado y cuando aparece un determinado evento en el Visor de eventos (descrito en detalle en la publicación «Uso de activadores de eventos en Windows»). En este artículo, le mostraremos cómo crear una tarea programada que se ejecute automáticamente después de que otra tarea se complete con éxito.

Supongamos que desea ejecutar un Apestar tarea del programador después de la Silbido el trabajo se completa con éxito.

  1. Abre el Tarea programador consola (Taskschd.msc) y encuentra el Silbido tarea;
  2. Haga clic en el Historia pestaña en la barra de tareas inferior. Contiene el historial completo de eventos relacionados con esta tarea programada; tarea del programador completado ID de evento 102Si el Programador de tareas solo muestra el Historial (Deshabilitado) pestaña, debe hacer clic Habilitar Todo el historial de tareas en el panel Acciones de la derecha. Después de eso, todos los eventos de la tarea se mostrarán en la pestaña Historial.
  3. Necesitamos el evento con el ID del evento 102 (Task completed) que aparece después de la finalización exitosa de la tarea (Task Scheduler successfully finished);
  4. Abra las propiedades de este evento, vaya a la Detalles pestaña y cambie a la Vista XML del evento. Usaremos los siguientes datos de XML cuando construyamos la declaración de condición para la nueva tarea programada:
EventID: 102
Provider-Name: Microsoft-Windows-TaskScheduler
Channel: Microsoft-Windows-TaskScheduler/Operational
TaskName: MyTasksPing

vista xml de propiedades del evento

Cerciorarse Operacional los registros están habilitados para los eventos del Programador de tareas. Abra la consola del Visor de eventos (eventvwr.msc) y vaya al Registro de aplicaciones y servicios -> Microsoft -> Windows -> Programador de tareas -> Operativo. Haga clic con el botón derecho en el elemento y seleccione el Habilitar registro opción. habilitar registros de eventos del programador de tareas

Ahora puedes crear un Apestar tarea programada.

Cuando crea un disparador para un trabajo Pong, debe especificar la condición para disparar el trabajo cuando aparece el evento 102 (Nuevo disparador -> en un evento). Pero el problema es que EventID 102 aparece después de completar cualquier tarea, no solo la tarea Ping.

programador de tareas: crear desencadenador de eventos

Puede crear condiciones más flexibles para seleccionar eventos (Disfraz) cuando el filtro estándar no le ayuda a seleccionar un evento con la suficiente precisión. Haga clic en el Nuevo Evento Filtrar botón.

Cree un nuevo filtro especificando los datos recuperados previamente de la Vista XML del evento.

  • Registros de eventos: Microsoft-Windows-TaskScheduler/Operational
  • Origen del evento: Programador de tareas
  • Categoría de tarea: Tarea terminada

nuevo filtro de eventos de tareas por registro del programador de tareas

Haga clic en el XML pestaña. Mostrará la representación XML de su filtro (XPath):

<QueryList>
<Query Id="0" Path="Microsoft-Windows-TaskScheduler/Operational">
<Select Path="Microsoft-Windows-TaskScheduler/Operational">*[System[Provider[@Name="Microsoft-Windows-TaskScheduler"] and Task = 102]]</Select>
</Query>
</QueryList>

Comprobar el Editar consulta manualmente opción. Debe vincular su filtro a la tarea MyTasksPing. Para hacer esto, reemplace la siguiente línea en el filtro XML:

*[System[Provider[@Name="Microsoft-Windows-TaskScheduler"] and Task = 102]]

con:

*[EventData [@Name="TaskSuccessEvent"][Data[@Name="TaskName"]='MyTasksPing']]

editar filtro de eventos: agregar dependencia

Guarde la configuración de su filtro en la pestaña Activadores (Filtro de eventos personalizado) y guarde la tarea Pong.

Ahora intente ejecutar la tarea Ping (manualmente, programada o usando PowerShell: Start-ScheduledTask mytasksping). Cuando la tarea Ping se completa con éxito, el trabajo Pong se iniciará de inmediato.

ejecutar una tarea programada después de otra

El formato XPath se muestra a continuación.

explicación XPath

De esta manera, puede configurar cadenas de tareas completas para ejecutar las tareas del programador en secuencia. Del mismo modo, puede crear cualquier otra dependencia en las tareas del Programador de Windows. Por ejemplo, si el trabajo de copia de seguridad se completa correctamente, ejecuta una secuencia de comandos y, si la copia de seguridad falla, debe ejecutar una secuencia de comandos para limpiar o corregir el estado actual.

Artículos Interesantes