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.
- Abre el Tarea programador consola (
Taskschd.msc
) y encuentra el Silbido tarea; - Haga clic en el Historia pestaña en la barra de tareas inferior. Contiene el historial completo de eventos relacionados con esta tarea programada;
Si 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.
- 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
); - 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
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. 
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.
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
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']]
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.
El formato XPath se muestra a continuación.
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
Contenido