Mantenimiento automático

La actividad de mantenimiento hace referencia a una aplicación o proceso que ayuda a mantener el estado y el rendimiento de un equipo Windows. El mantenimiento incluye mantener actualizadas las aplicaciones y el sistema operativo Windows, comprobar la seguridad y ejecutar exámenes de malware. Administración automática de Windows (WAM) es un conjunto de mejoras en la API del programador de tareas que puede usar para vincular las aplicaciones a la programación de mantenimiento de Windows. En concreto, WAM permite agregar actividades que requieren programación normal, pero que no tienen requisitos de tiempo exactos. En su lugar, WAM se basa en el sistema operativo para elegir la hora adecuada para activar la tarea a lo largo del día. El sistema elige esas horas en función del impacto mínimo para el usuario, el rendimiento del equipo y la eficiencia energética.

Funcionamiento del mantenimiento programado

Las tareas de mantenimiento del Programador de tareas son tareas oportunistas que se ejecutan cuando la máquina está inactiva y en la alimentación de CA. Uno de los principales objetivos de las tareas de mantenimiento es minimizar el impacto en el equipo mediante la programación del mantenimiento solo cuando el equipo está conectado a la alimentación y la inactividad de CA (es decir, cuando no está usando, o ha salido de ella, la máquina). La idea de mantenimiento en la actualidad es que la máquina funcione con la menor interrupción del usuario. Por lo tanto, la hora de mantenimiento de estilo antiguo (hablamos más sobre esto en la sección Mantenimiento automático— reactivación diaria más adelante en este tema) se ha mejorado para aprovechar estos períodos de inactividad. Aunque la hora de mantenimiento todavía se puede aprovechar, la ejecución del mantenimiento oportunista es mejor para el estado del sistema.

Es posible que la tarea se desanite si una máquina no pasa mucho tiempo inactivo y en la alimentación de CA. Asegúrese de que el escenario seguirá proporcionando valor al usuario, incluso si se retrasa. Si el usuario usa activamente la máquina, el sistema aplaza el mantenimiento hasta un momento posterior. El sistema también suspende cualquier tarea de mantenimiento en ejecución si el usuario vuelve a usar el equipo.

El sistema reinicia una tarea de mantenimiento suspendida durante el siguiente período de inactividad; sin embargo, el sistema no suspenderá ninguna tarea marcada como crítica. En su lugar, el sistema permite que se complete una tarea crítica, independientemente de la acción del usuario.

Debido a la naturaleza de la programación, es posible que algunas tareas programadas no finalicen: quizás haya demasiados eventos programados para ajustarse a la ventana de mantenimiento de 1 hora, o quizá el equipo simplemente no estaba activado. En tales casos, puede definir una tarea con una fecha límite. Una fecha límite se define como un período de tiempo periódico en el que el sistema debe realizar correctamente la tarea al menos una vez.

Si una tarea pierde una fecha límite, el programador de mantenimiento seguirá intentando ejecutar la tarea durante la ventana de mantenimiento. Además, el programador no se limitará al límite de tiempo normal de 1 hora. En su lugar, el programador extiende la duración de la ventana de mantenimiento para completar la tarea retrasada.

Una vez que el sistema completa la tarea (incluso con un código de error), el intento se considera correcto. Después de un intento correcto, el programador se restablece a la programación de mantenimiento normal e intentará la tarea durante el siguiente período.

Mantenimiento automático: reactivación diaria

En Windows 7, una tarea de mantenimiento se ejecuta exclusivamente durante la hora de mantenimiento, de forma predeterminada a las 3 a.m. y configurable a través de directiva de grupo. La máquina se reactivaría desde el modo de espera, ejecutaría tareas de mantenimiento y volvería a dormir. Esta sesión diaria se limitó a una duración máxima de 1 hora por intento. Esto permitiría que el sistema realice el mantenimiento diariamente, a partir de las 3 a.m. de forma predeterminada. Tenga en cuenta que el usuario puede volver a programar la hora en que se desencadena el mantenimiento mediante la configuración de estas opciones.

Con la llegada de portátiles, y el gran foco en la duración de la batería, las máquinas ya no están configuradas para permitir la reactivación S3 en la mayoría de las circunstancias, y generalmente Doze-To-S4 (hibernate) tan pronto como sea posible, para ahorrar batería. En respuesta a estos cambios, el Programador de tareas (> Win7) ejecuta tareas de mantenimiento cada vez que vencieron, y la máquina está inactiva y en la alimentación de CA.

Esta opción se puede configurar en Panel de control.

Abra Panel de control>Seguridad y seguridad>y mantenimiento>mantenimiento automático.

Por lo tanto, en función de cómo se configuran las máquinas y las tareas, es posible que el comportamiento de reactivación diaria no se produzca hoy como se esperaba debido a esta nueva configuración. En primer lugar, puede determinar si la máquina es compatible con S3 o CS (modo de espera conectado). Para ello, abra un símbolo del sistema de Power Shell con privilegios elevados y ejecute el siguiente comando.

powercfg /a

Hora de mantenimiento, si la máquina está configurada correctamente, sigue funcionando, pero si no lo hace,

  • Compruebe la configuración del BIOS en Configuración de reactivación.
  • Compruebe si Permitir temporizador de reactivación está habilitado en Opciones de energía. Vaya a Panel de control> Configuración avanzada delplan>Editar> opciones deenergía> de sonido> y hardware, haga clic en Suspender>permitir temporizador de reactivación.
  • Compruebe si la tarea programada está configurada con lo siguiente.
    • MaintenanceSettings: la tarea debe configurarse con Período, Fecha límite.
    • Habilitado: la tarea debe estar habilitada.
    • WakeToRun: la tarea debe poder reactivar la máquina.
  • Para programar reactivaciones desde CS, la máquina debe ser compatible con AOAC.
  • Para programar reactivaciones en máquinas S3,
    • Compruebe si la máquina entró en S3 en la alimentación de CA.
    • El sistema debe tener Wake Enabled en directiva de grupo para mantenimiento.

El modo de espera conectado es el estado del sistema que puede entrar un sistema compatible con AOAC.

Vea las diferencias entre el modo de espera moderno y el S3 en el tema Modern Standby vs S3.

Definir una tarea de mantenimiento automático

Puede convertir cualquier tarea del Programador de tareas en una tarea de mantenimiento. Para ello, debe confirmar que la aplicación se puede suspender. A continuación, debe ampliar la definición de tarea con los nuevos elementos MaintenanceSettings y AllowStartOnDemand .

La principal preocupación con la creación de una tarea de mantenimiento es asegurarse de que el sistema puede suspender y reiniciar la tarea. Es probable que el sistema suspenda una tarea de mantenimiento varias veces; Por lo tanto, debe asegurarse de que la aplicación puede guardar su propio estado y, a continuación, reanudarse en un momento arbitrario. Esto garantiza que el sistema no realiza la misma parte de la tarea repetidamente.

Una vez que haya asegurado que la aplicación se puede suspender y reanudar correctamente, puede usar los elementos MaintenanceSettings y AllowStartOnDemand para definir la programación. MaintenanceSettings se define según el período, la fecha límite y la exclusividad.

  • El período es obligatorio y define la frecuencia con la que debe producirse la tarea. Normalmente, esto se define en términos de un ciclo de varios días, como "una vez cada 5 días". Un período debe ser al menos un día, lo que significa que no se puede programar una tarea para que se produzca varias veces en un día.
  • La fecha límite es opcional y define cuánto tiempo puede producir un error en el programador para completar la tarea antes de notificar al usuario o realizar el mantenimiento de emergencia. La fecha límite debe ser mayor que el período, lo que significa que el sistema debe tener la oportunidad de intentar la tarea al menos una vez antes de notificar al usuario.
  • Además, una tarea de mantenimiento se puede definir opcionalmente como exclusiva. Una tarea exclusiva se ejecuta independiente de otras tareas de mantenimiento. Normalmente, una tarea exclusiva es una que usa una gran cantidad de recursos, como una gran cantidad de tiempo de CPU o acceso exclusivo a una base de datos. El sistema completa todas las tareas de mantenimiento no exclusivas antes de iniciar una tarea exclusiva. Por lo tanto, debe declarar una tarea como exclusiva solo cuando sea necesario.

En cambio, AllowStartOnDemand simplemente indica que el sistema o el usuario pueden iniciar la tarea en cualquier momento. Esto permite al sistema iniciar la tarea durante el mantenimiento normal. De lo contrario, tendría que establecer un desencadenador único para la tarea.