El programa de tareas programadas de Windows Server 2016 debe estar en el futuro

20

Tenemos un servidor 2012 que tiene alrededor de 20 tareas programadas que se utilizan para la supervisión. Hemos creado un servidor de 2016 para reemplazarlo y, a medida que paso las tareas al nuevo servidor, me he encontrado con un problema. La mayoría de nuestras tareas se ejecutan cada pocos minutos.

En Server 2012, programaríamos que la tarea comenzara a las 1200 a. M. Del día actual (es decir, una hora en el pasado) y volvería a ocurrir cada X minutos. La tarea comenzaría en su próxima hora programada. Perfecto.

En Server 2016, las programaciones que comienzan en el pasado no se ejecutan. Así que tuvimos que programarlo para comenzar en el futuro. Esto está bien hasta que reinicies. Ahora la hora de inicio está en el pasado y no se ejecutará. Ni siquiera registra una ejecución fallida. La columna Tiempo de ejecución siguiente muestra que debería ejecutarse pero no lo hace.

Ejemplo de horario actual

Además de crear dos desencadenantes, uno que comienza en el futuro y otro que comienza al reiniciar (lo que no queremos hacer ya que algunas tareas solo deberían ejecutarse en momentos específicos), ¿hay una mejor manera? Esto parece ser un error. La versión 2012 funcionó muy bien.

ACTUALIZAR

Hay una solución para esto. Cree un horario único que se ejecute indefinidamente. Esto funciona después de reiniciar justo como era de esperar. Sé que esto no es bueno para horarios que son "extraños", pero funciona bien para cosas que queremos ejecutar cada 3 minutos o lo que sea.

SteveB
fuente
1
Tengo el mismo problema y no he encontrado una solución. ¿Tienes? Parece un error tan grande. También encontré que la tarea de Google Chrome funciona, pero la tarea que he realizado no. Entonces, ¿tal vez es un problema de permiso más profundo?
Tyler
Descubrí que si creaba un cronograma "único" que comenzaba en el futuro y funcionaba indefinidamente, funcionaba. No he encontrado nada más todavía.
SteveB
Se ha permitido un error tan extraño en el sistema. No puedo creer solo a ti y lo he encontrado. ¿Hay alguna manera de informarlo para que pueda resolverse?
Tyler
Este problema también me atrapó al migrar de Windows Server 2012 a 2016, y creo que encontré una explicación (ver mi respuesta). ¿Estás seguro de que las versiones anteriores de Windows se comportaron de manera diferente?
Heinzi
2
Si. El 2012 se comportó como todos suponemos que debería ser.
SteveB

Respuestas:

5

Para su información, he confirmado con Microsoft a través de un ticket de soporte que abrí ayer que esto es un error. El técnico de soporte confirmó que está clasificado internamente como un error y que se está desarrollando un parche. Me dieron una fecha objetivo de lanzamiento del parche para julio / agosto.

Esto afecta tanto a Windows 10 como a Server 2016. Mis sistemas de prueba fueron parcheados hasta la actualización acumulativa de ayer. El problema no ocurrió en Server 2012 R2 y Windows 7.

EDITAR: posiblemente en agosto, pero definitivamente en septiembre de 2017, este problema se solucionó en los sistemas en los que lo he probado.

Tom Collins
fuente
¡Gracias por la información! Me estaba volviendo loco de frustración. Mis tareas se importaron de un cuadro de Server 2012 anterior a una nueva máquina Server 2016. Fue entonces cuando comencé a ver este problema.
David Gunderson
Aprecia tus esfuerzos. ¿Sabes si ya se lanzó un parche (octubre de 2017)? ¿Tiene alguna referencia a un artículo de KB relevante o algo por el estilo?
yossiz74
No tengo un KB para esto, pero descubrí en las pruebas que desde el parche acumulativo de septiembre de 2017, el problema desapareció, por lo que creo que ahora está solucionado.
Tom Collins el
A partir de febrero de 2018, en Win Server 2016, las tareas "Repetir tarea cada XX minutos" no se ejecutan si las desactivo y vuelvo a activar.
Ben Amada
4

Este problema solo parece afectar las tareas con la Repeat task every: ...opción establecida.

Hasta ahora, tenía la impresión de que trigger at X, then repeat every 10 minutesera una forma innecesariamente complicada de escribir trigger at every xx:x0en el Programador de tareas.

Al parecer, no lo es. Aparentemente, significa exactamente lo que dice: la tarea se desencadena en X y luego, y solo entonces se repite. Sin disparador inicial, sin repetición. Parece que no hay una manera simple de programar trigger at every xx:x0en el Programador de tareas (¿o existe? Eso podría ser una buena pregunta separada de Serverfault). El hecho de que la columna "Próximo tiempo de ejecución" muestre algo diferente no es muy útil.

"Resolvemos" este problema programando que la tarea se ejecute a las 12:00 todos los días (en lugar de solo un día) y luego repitiendo cada ...minuto durante 1 día. Esto significa que si se produce un reinicio, a las 12:00, las tareas se reanudarán. No es ideal, pero es un compromiso aceptable aquí.

Supongo que podría reducir el "tiempo de inactividad de la tarea" a 1 hora creando un disparador por cada hora y hacer que la tarea se repita cada ...minuto durante 1 hora.

Sorprendentemente, parece que siempre ha sido así (ver el primer comentario de esta respuesta ), simplemente nunca nos dimos cuenta hasta ahora. Según los otros comentarios de la respuesta vinculada, la forma canónica de resolver este problema es activar la Run task as soon as possible after a scheduled start is missedopción.

Entonces, sí, es un error, pero es la columna "Próximo tiempo de ejecución" que tiene errores, no la programación real.

Heinzi
fuente
El único problema con programarlo para un día es que estas son algunas de nuestras tareas de monitoreo. No quiero pasar horas sin ellos.
SteveB
-1

1 . Windows 2016 Server necesariamente requiere estas opciones en su trabajo:

  • Ejecute la tarea lo antes posible después de que se omita un inicio de programación
  • Si la tarea falla, reinicie cada

Noté estas opciones en la captura de pantalla

2 . Añadir disparador adicional. Como:

  • Al crear o editar tareas
  • Cuando empieces

etc. en el sentido de: mover una tarea para comenzar en el momento deseado

3 . En algunas tareas en Windows 2016, implementé este enfoque.

nndvrus
fuente