Si l'invite de commandes ou une fenêtre de programme inconnue clignote à des intervalles spécifiques ou aléatoires sans que vous n'ayez rien fait, il y a de nombreuses chances que ce soit un travail du Planificateur de tâches. Cependant, vous voudrez savoir quel programme a été exécuté juste pour vous assurer qu'il ne s'agit pas d'un logiciel malveillant.
Au moment où vous ouvrez le Gestionnaire des tâches et vérifiez l'onglet Processus ou Détails, le processus d'invite de commandes ou le programme inconnu aurait déjà terminé son exécution.
La fenêtre d'invite de commandes peut se fermer si rapidement que vous n'aurez peut-être même pas le temps de voir ce qu'elle est en cours d'exécution ou même de prendre une capture d'écran à l'aide de PrintScreen.
Ce message vous indique les raisons possibles pour lesquelles la fenêtre d'invite de commandes apparaît de manière aléatoire et comment trouver le nom exact de la dernière tâche inconnue exécutée.
L'invite de commande se ferme de manière aléatoire et se ferme rapidement
Il peut s'agir de la ou des tâches de maintenance automatique, en particulier si la fenêtre d'invite de commandes clignote uniquement lorsque le système est inactif pendant quelques minutes. Vous pouvez afficher la liste des tâches de maintenance automatique à l'aide de PowerShell.
Voici d'autres possibilités:
Tâche d'arrière-plan Office 365
Il existe deux tâches planifiées dans la bibliothèque du planificateur de tâches Microsoft\Office
:
- OfficeBackgroundTaskHandlerLogon s'exécute lorsqu'un utilisateur ouvre une session
- OfficeBackgroundTaskHandlerRegistration s'exécute toutes les heures
Lorsque les tâches ci-dessus s'exécutent, elles ouvrent et ferment une fenêtre d'invite de commandes en un clin d'œil, ce qui peut être très ennuyeux pour l'utilisateur. Les deux tâches sont définies pour s'exécuter sous le groupe de comptes «Utilisateurs». La définition d'OfficeBackgroundTaskHandlerRegistration pour s'exécuter sous le compte «Système» empêchera les fenêtres contextuelles d'invite de commandes d'apparaître et la tâche s'exécutera masquée.
- Ouvrez le Planificateur de tâches, accédez à la succursale
Microsoft\Office
» - Sélectionnez
OfficeBackgroundTaskHandlerRegistration
, cliquez avec le bouton droit et sélectionnez Propriétés. - Cliquez sur Changer d'utilisateur ou de groupe, tapez Système, OK, OK.
Utilitaire de configuration du pilote
Il existe un logiciel tiers nommé Driver Setup Utility qui exécute des tâches (via le planificateur) pour mettre à jour les pilotes à certains intervalles, provoquant l'ouverture et la fermeture automatique de l'invite de commandes. Les OEM tels que Acer, Gateway, Packard Bell semblent regrouper le DriverSetupUtility dans les ordinateurs. DriverSetupUtility ou le programme de mise à jour des pilotes est configuré pour s'exécuter en tant que tâche planifiée toutes les heures en tant que tâche quotidienne, et vous verrez un écran semblable à celui-ci lorsqu'ils s'exécutent:
FINDSTR: impossible d'ouvrir C: \ ProgramData \ acer \ updater2 \ updater2.xml Le système ne trouve pas le chemin spécifié. Impossible d'accéder au fichier C: \ Program Files \ DriverSetupUtility \ FUB \ + FINDSTR: Impossible d'ouvrir C: \ ProgramData \ packard bell \ updater2 \ updater2.xml Le système ne trouve pas le chemin spécifié. Impossible d'accéder au fichier C: \ Program Files \ DriverSetupUtility \ FUB \ + FINDSTR: Impossible d'ouvrir C: \ ProgramData \ gateway \ updater2 \ updater2.xml Le système ne peut pas trouver le chemin spécifié. Impossible d'accéder au fichier C: \ Program Files \ DriverSetupUtility \ FUB \ + FINDSTR: Impossible d'ouvrir C: \ ProgramData \ gateway \ updater2 \ updater2.xml
Les programmes de mise à jour des pilotes tiers ne sont pas essentiels pour le système, et si vous n'en avez pas besoin, ouvrez le Panneau de configuration → Programmes et fonctionnalités → désinstaller l' utilitaire de configuration du pilote (ou DriverSetupUtility) à partir de là.
Dell, d'autre part, a son propre utilitaire SupportAssist qui n'exécute pas ces fous fichiers Batch. Il a une interface soignée et l'utilisateur est informé de toute mise à jour du système.Découvrez pourquoi la fenêtre d'invite de commandes apparaît
N'utilisez pas Office 365 ou Driver Updater? Si les informations ci-dessus ne s'appliquent pas dans votre cas, voici quelques méthodes générales de suivi que vous pouvez suivre pour affiner le programme ou la tâche qui est déclenchée.
Trace du moniteur de processus
Si vous exécutez une trace de Moniteur de processus pour surveiller les nouvelles activités de création de processus ou de threads, vous devriez être en mesure de déterminer si la fenêtre d'invite de commandes ou tout autre programme qui s'affiche à l'écran (et se ferme rapidement) a été lancé par le Planificateur de tâches ou ne pas. Pour plus d'informations, consultez l'article Comment déterminer le processus parent d'un processus en cours d'exécution dans Windows?
Voici un exemple de travail du Planificateur de tâches qui a ouvert une fenêtre d'invite de commandes. La création du processus a été tracée à l'aide de Process Monitor.
Une fois que vous connaissez le PID ou le processus parent, il vous suffit de rechercher ce PID dans l'onglet Détails du Gestionnaire des tâches. Il peut s'agir de svchost.exe, un processus hôte qui exécute les services Windows. L'activation du champ de ligne de commande dans le Gestionnaire des tâches affichera le groupe de services. Si le nom du groupe de services indique "Schedule"
, il s'agit du Planificateur de tâches.
Process Monitor et Process Explorer de Windows SysInternals devraient vous dire exactement ce qui fonctionne actuellement en arrière-plan. Outre ces excellents utilitaires, pour suivre les tâches planifiées, vous pouvez également utiliser l'utilitaire de ligne de commande du planificateur de tâches SchTasks.exe
ou l'utilitaire tiers TaskSchedulerView.
Voici comment déterminer si la dernière fenêtre d'invite de commandes qui a clignoté à l'écran a été lancée en tant que tâche du Planificateur de tâches.
Option 1: utilisation de l'utilitaire TaskSchedulerView
TaskSchedulerView de NirSoft vous montre toutes les informations sur les tâches. Cet outil affiche la liste de toutes les tâches du Planificateur de tâches et vous permet de désactiver ou d'activer plusieurs tâches à la fois. Pour chaque tâche répertoriée, les informations suivantes s'affichent:
- Nom de la tâche
- La description
- Statut
- Caché (Oui / Non)
- Dernière exécution / Suivant
- Temps d'exécution
- Dossier de tâches
- Nom de fichier EXE ou gestionnaire COM de la tâche
- Nombre de courses manquées
- et plus…
Dans TaskSchedulerView, triez la liste par colonne «Dernière exécution» et double-cliquez sur la dernière tâche d'exécution pour trouver exactement le dernier programme exécuté.
Si la tâche est une tâche Windows standard, ignorez-la simplement. Si le nom de la tâche ou le nom du programme est suspect, effectuez une analyse complète du système à l'aide de l'antimalware Malwarebytes en plus d'exécuter une analyse antivirus complète avec des signatures mises à jour.
(Cependant, tous les programmes qui s'exécutent en arrière-plan ne sont pas des tâches planifiées. Il est possible qu'un programme en cours d'exécution lance un autre programme ou une ligne de commande pour des raisons légitimes. Ou il peut s'exécuter à partir de l'un des nombreux points d'entrée de démarrage. . Les utilitaires Autoruns, Process Explorer et Process Monitor devraient vous donner une image claire des processus en cours et des entrées de démarrage automatique.)
Option 2: utilisation de SchTasks.exe pour obtenir la liste des tâches et la dernière exécution
L'historique d'exécution du Planificateur de tâches peut être interrogé à l'aide de l'outil de console schtasks.exe
.
Ouvrez une fenêtre d'invite de commandes élevée et saisissez:
schtasks / query / FO TABLE / v | agrafe
Remarque: Pour interroger des tâches, SchTasks.exe ne nécessite pas que vous exécutiez à partir d'une invite de commandes élevée.
La sortie est copiée dans le presse-papiers. Ouvrez le Bloc-notes et collez la sortie.
Vous verrez la liste des tâches et leurs détails complets, y compris la dernière exécution. Faites correspondre l'heure avec l'heure réelle à laquelle la fenêtre de programme inconnue est apparue et a disparu.
Nous sommes particulièrement intéressés par les trois colonnes - Last Run Time, TaskName et Task to Run . Inspectez ces champs jusqu'à la fin du fichier, car cette liste n'est pas groupée ou triée par Last Run Time.
Importation dans Excel
Pour une inspection détaillée, générez un rapport CSV au lieu du format de rapport TABLE ou LISTE, à l'aide de cette commande:
schtasks / query / FO CSV /V>d:\tasks-list.csv
Par exemple, d: \ tasks-list.csv est le nom de fichier et le chemin dans lequel la sortie sera écrite. Ouvrez le fichier CSV à l'aide d'Excel, réorganisez les colonnes selon vos besoins et formatez-les en conséquence. Trier par dernière heure d' exécution (décroissant).
Le Planificateur de tâches intégré répertorie la dernière heure d'exécution et tous les autres détails sur les tâches, mais la vérification manuelle de chaque dossier prend du temps. Avec SchTasks.exe ou TaskSchedulerView, vous pouvez effectuer le travail en une seconde.
Si un programme inconnu ou une fenêtre d'invite de commandes apparaît et se ferme rapidement avant que vous puissiez lire le titre de la fenêtre, vous savez maintenant comment trouver le programme qui a été exécuté.