Maintenance automatique

L’activité de maintenance fait référence à une application ou à un processus qui permet de maintenir l’intégrité et les performances d’un PC Windows. La maintenance comprend la mise à jour du système d’exploitation Windows et des applications, la vérification de la sécurité et l’exécution d’analyses pour les programmes malveillants. Windows Automatic Management (WAM) est un ensemble d’améliorations apportées à l’API Planificateur de tâches que vous pouvez utiliser pour lier vos applications à la planification de maintenance Windows. Plus précisément, WAM vous permet d’ajouter des activités qui nécessitent une planification régulière, mais qui n’ont pas besoin de temps précis. Au lieu de cela, WAM s’appuie sur le système d’exploitation pour choisir l’heure appropriée pour activer la tâche tout au long de la journée. Le système choisit ces heures en fonction de l’impact minimal sur l’utilisateur, les performances du PC et l’efficacité énergétique.

Fonctionnement de la maintenance planifiée

Les tâches de maintenance du planificateur de tâches sont des tâches opportunistes qui s’exécutent lorsque la machine est inactive et sur alimentation secteur. L’un des principaux objectifs des tâches de maintenance est de réduire l’impact sur le PC en planifiant la maintenance uniquement lorsque le PC est branché à l’alimentation secteur et inactif (c’est-à-dire lorsque vous n’utilisez pas ou que vous vous éloignez de la machine). L’idée de maintenance aujourd’hui est que la machine fonctionne avec le moins d’interruption pour l’utilisateur. Par conséquent, l’heure de maintenance à l’ancienne (nous en parlons plus dans la section Maintenance automatique – mise en éveil quotidienne plus loin dans cette rubrique) a été améliorée afin de tirer parti de ces périodes d’inactivité. Bien que l’heure de maintenance puisse toujours être exploitée, l’exécution d’une maintenance opportuniste est préférable pour l’intégrité du système.

Votre tâche peut être affamée si une machine ne passe pas beaucoup de temps à l’inactivité et à l’alimentation secteur. Assurez-vous que votre scénario fournira toujours de la valeur à l’utilisateur, même s’il est retardé. Si l’utilisateur utilise activement la machine, le système reporte la maintenance à une date ultérieure. Le système suspend également toute tâche de maintenance en cours d’exécution si l’utilisateur revient à utiliser le PC.

Le système redémarre une tâche de maintenance suspendue pendant la période d’inactivité suivante ; Toutefois, le système ne suspend aucune tâche marquée comme critique. Au lieu de cela, le système permet à une tâche critique de se terminer, quelle que soit l’action de l’utilisateur.

En raison de la nature de la planification, certaines tâches planifiées peuvent ne pas se terminer : il y a peut-être trop d’événements planifiés pour tenir dans la fenêtre de maintenance d’une heure, ou peut-être que l’ordinateur n’a tout simplement pas été allumé. Dans ce cas, vous pouvez définir une tâche avec une échéance. Une échéance est définie comme une période périodique dans laquelle le système doit effectuer la tâche avec succès au moins une fois.

Si une tâche manque une échéance, le planificateur de maintenance continue d’essayer d’exécuter la tâche pendant la fenêtre de maintenance. De plus, le planificateur ne se limite pas à la limite normale d’une heure. Au lieu de cela, le planificateur étend la durée de la fenêtre de maintenance afin d’effectuer la tâche retardée.

Une fois que le système a terminé la tâche (même avec un code d’erreur d’échec), la tentative est considérée comme réussie. Après une tentative réussie, le planificateur réinitialise la planification de maintenance normale et tente la tâche au cours de la période suivante.

Maintenance automatique : mise en éveil quotidienne

Sur Windows 7, une tâche de maintenance s’exécute exclusivement pendant l’heure de maintenance, avec la valeur par défaut à 3 h 00, et configurable via stratégie de groupe. La machine sortirait de veille, exécuterait des tâches de maintenance et revenait en veille. Cette session quotidienne a été limitée à une durée maximale de 1 heure par tentative. Cela permettrait au système d’effectuer une maintenance quotidienne, à partir de 3 h du matin par défaut. Notez que l’utilisateur peut planifier à nouveau l’heure à laquelle la maintenance est déclenchée en configurant ces paramètres.

Avec l’avènement des ordinateurs portables, et l’accent mis sur l’autonomie de la batterie, les machines ne sont plus configurées pour permettre le réveil S3 dans la plupart des circonstances, et généralement Doze-To-S4 (hiberner) dès que possible, pour économiser la batterie. En réponse à ces modifications, le Planificateur de tâches (> Win7) exécute les tâches de maintenance chaque fois qu’elles sont dues, et la machine est inactive et sur alimentation secteur.

Ce paramètre peut être configuré dans Panneau de configuration.

Ouvrez Panneau de configuration>Système et sécurité>Sécurité et maintenance>Maintenance Automatique.

Ainsi, en fonction de la façon dont vos machines et vos tâches sont configurées, le comportement de mise en éveil quotidienne peut ne pas se produire aujourd’hui comme prévu en raison de cette nouvelle configuration. Vous pouvez d’abord déterminer si votre machine est compatible S3 ou CS (Connected Standby). Pour ce faire, ouvrez une invite d’interpréteur de commandes avec élévation de privilèges et exécutez la commande suivante.

powercfg /a

L’heure de maintenance, si la machine est correctement configurée, fonctionne toujours, mais si ce n’est pas le cas,

  • Vérifiez les paramètres du BIOS pour paramètres de veille.
  • Vérifiez si l’option Autoriser le minuteur de veille est activée dans Options d’alimentation. Accédez à Panneau de configuration>Programmes d’alimentation etoptions> d’alimentation audio >Modifier les paramètres> du planModifier les paramètres> d’alimentation avancés, cliquez sur Veille>Autoriser le minuteur d’éveil.
  • Vérifiez si votre tâche planifiée est configurée avec les éléments suivants.
    • MaintenanceSettings : la tâche doit être configurée avec Period, Deadline.
    • Activé : la tâche doit être activée.
    • WakeToRun : la tâche doit être autorisée à réveiller la machine.
  • Pour la planification des sorties de veille à partir de CS, la machine doit être compatible AOAC.
  • Pour la planification des éveils dans les machines S3,
    • Vérifiez si l’ordinateur est passé dans S3 sur l’alimentation secteur.
    • Le système doit avoir activé l’éveil dans stratégie de groupe pour la maintenance.

La veille connectée est l’état système qu’un système conforme à LOAC peut entrer.

Consultez les différences entre la veille moderne et S3 dans la rubrique Veille moderne et S3.

Définition d’une tâche de maintenance automatique

Vous pouvez convertir n’importe quelle tâche du planificateur de tâches en tâche de maintenance. Pour ce faire, vous devez confirmer que votre application peut être suspendue. Ensuite, vous devez étendre la définition de tâche avec les nouveaux éléments MaintenanceSettings et AllowStartOnDemand .

Le main problème lié à la création d’une tâche de maintenance consiste à s’assurer que le système peut suspendre et redémarrer la tâche. Le système suspendra probablement une tâche de maintenance plusieurs fois ; Par conséquent, vous devez vous assurer que votre application est en mesure d’enregistrer son propre état, puis de reprendre à un moment arbitraire. Cela garantit que le système n’effectue pas la même partie de votre tâche à plusieurs reprises.

Une fois que vous avez vérifié que votre application peut être suspendue et reprise correctement, vous pouvez utiliser les éléments MaintenanceSettings et AllowStartOnDemand pour définir la planification. MaintenanceSettings est défini en fonction de la période, de l’échéance et de l’exclusivité.

  • La période est obligatoire et définit la fréquence à laquelle la tâche doit se produire. Généralement, cela est défini en termes de cycle de plusieurs jours, par exemple « une fois tous les 5 jours ». Une période doit être d’au moins un jour, ce qui signifie que vous ne pouvez pas planifier une tâche plusieurs fois par jour.
  • L’échéance est facultative et définit la durée pendant laquelle le planificateur peut ne pas terminer la tâche avant de notifier l’utilisateur ou d’effectuer une maintenance d’urgence. L’échéance doit être supérieure à la période, ce qui signifie que le système doit avoir la possibilité d’essayer la tâche au moins une fois avant d’en informer l’utilisateur.
  • En outre, une tâche de maintenance peut éventuellement être définie comme exclusive. Une tâche exclusive s’exécute séparément des autres tâches de maintenance. En règle générale, une tâche exclusive est une tâche qui utilise une grande quantité de ressources, telles qu’une grande quantité de temps processeur ou un accès exclusif à une base de données. Le système effectue toutes les tâches de maintenance non exclusives avant de commencer une tâche exclusive. Par conséquent, vous devez déclarer une tâche comme exclusive uniquement lorsque cela est nécessaire.

En revanche, AllowStartOnDemand indique simplement que le système ou l’utilisateur peut démarrer la tâche à tout moment. Cela permet au système de démarrer la tâche pendant une maintenance régulière. Sinon, vous devez définir un déclencheur unique pour la tâche.