Menu Fermer

Comment utiliser la commande TASKLIST sur Windows

Dans Windows, nous pouvons également obtenir la liste des processus en cours d’exécution sur le système à partir de l’invite de commandes. Nous pouvons utiliser la commande TaskList à cet effet.
En utilisant cette commande, nous pouvons énumérer sélectivement les processus en fonction de critères comme l’espace mémoire utilisé, le temps d’exécution, le nom du fichier d’image, les services exécutés dans le processus, etc.

Dans ce tutoriel, je vous guide pour utiliser la commande tasklist avec la syntaxe et des exemples pour divers cas.

Comment utiliser la commande TASKLIST sur Windows

La syntaxe de TASKLIST

Cet outil affiche une liste des processus actuellement en cours sur un ordinateur local ou un ordinateur distant.
La syntaxe de la commande :

TASKLIST [/S système [/U utilisateur [/P mot_de_passe]]]]
         [/M [module] | /SVC | /V] [/FI filtre] [/FO format] [/NH]

Voici la liste des options de la commande TASKLIST :

OPTIONDESCRIPTION
/S SystèmeSpécifie le système distant auquel se connecter
/U [domaine\utilisateur]Spécifie le contexte utilisateur sous lequel la commande doit exécuter
/P [mot_passe]Spécifie le mot de passe pour le contexte
utilisateur donné. Il est demandé s’il est omis.
/M [module]Liste toutes les tâches utilisant le nom de
fichier exe ou dll donné. Si le nom de module
n’est pas spécifié, tous les modules chargés
sont affichés.
/SVC Affiche les services hébergés dans chaque processus.
/APPSAfficher les applications du Store et leurs processus associés.
/VAffiche les informations de tâches détaillées.
/FI filtreAffiche un ensemble de tâches qui correspond
au critère spécifié par le filtre.
/FOformat Spécifie le format de sortie.
Valeurs valides : “TABLE”, “LIST”, “CSV”.
/NHSpécifie que les en-têtes de colonnes ne
être affichée sur la sortie.
Valide uniquement pour les formats
“TABLE” et “CSV”.
Lister des paramètres de la commande Tasklist

Vous pouvez filtrer la sortie pour affiner les résultats grâce à des filtres et leurs opérateurs.
Voici la liste des filtres.

FILTREOPERATEURVALEUR
STATUSeq, neRUNNING | SUSPENDED
NOT RESPONDING | UNKNOWN
IMAGENAMEeq, neNom d’image
PIDeq, ne, gt, lt, ge, leValeur PID
SESSIONeq, ne, gt, lt, ge, leNuméro de session
SESSIONNAMEeq, neNom de session
CPUTIMEeq, ne, gt, lt, ge, leeure valide au format
hh:mm:ss.
hh – heures,
mm – minutes, ss – secondes
MEMUSAGEeq, ne, gt, lt, ge, leMémoire utilisée, en Ko
USERNAMEeq, neNom d’utilisateur
SERVICESeq, neNom de service
WINDOWTITLEeq, neTitre de la fenêtre
MODULESeq, neNom de la DLL
Les opérateurs de la commande TASKLIST

Pour ce faire, on utilise l’option /Fi qui permet d’utiliser plusieurs filtres selon cette syntaxe :

tasklist /Fi "Filtre1" /Fi "Filtre2" /fi "Filtre3"

On retrouve la même syntaxe que la commande taskkill.

Voici plusieurs exemples complets d’utilisation de cette commande système de Windows.

Comment utiliser la commande TASKLIST sur Windows avec des exemples

Lister tous les processus en cours d’exécution

Pour lister tous les processus de Windows, utilisez la commande sans option :

tasklist

Vous obtenez un tableau avec le nom de l’image, le PID, le nom de la session, Numéro de session et utilisation mémoire.

Lister tous les processus en cours d'exécution sur tasklist

Utilisez more pour bloquer la sortie page par page comme ceci :

tasklist|more

Pour afficher une liste avec plus de détails, utilisez l’option /v :

tasklist /v

Cela ajoute les colonnes Etat, Nom d’utilisateur, temps processeur et filtre de la fenêtre.

Lister tous les processus en cours d'exécution sur tasklist

Afficher la liste des processus lancés par un utilisateur

Si vous souhaitez filtrer la liste des processus sur un utilisateur Windows spécifique, utilisez cette syntaxe :

tasklist /fi "username eq <nom utilisateur>"

Par exemple pour ne lister que les processus de l’utilisateur mak :

tasklist /fi "username eq mak"

Utilisez le filtre ne pour NE PAS afficher les processus d’un utilisateur.
Par exemple si vous souhaitez ne pas lister les processus exécuter en AUTORITE NT :

tasklist /v /fi "USERNAME ne NT AUTHORITY\SYSTEM" /fi "USERNAME ne AUTORITE NT\Système" /fi "USERNAME ne AUTORITE NT\SERVICE LOCAL" /fi "USERNAME ne AUTORITE NT\SERVICE RÉSEAU"
Afficher la liste des processus lancés par un utilisateur avec tasklist

Trouver l’utilisation de la mémoire d’un processus spécifique

Vous pouvez aussi filtrer par le PID, ce qui permet de retrouver un processus par son identification.
Voici la syntaxe :

tasklist /fi "pid eq <PID>"

Par exemple pour trouver le processus dont le PID est 6828 :

tasklist /fi "pid eq 6828"

Nom de l’image                 PID Nom de la sessio Numéro de s Utilisation
========================= ======== ================ =========== ============
AggregatorHost.exe            6828 Services                   0     5 084 Ko
Trouver l'utilisation de la mémoire d'un processus spécifique avec tasklist

Lister les processus qui ne répondent pas

Il est aussi possible de n’afficher que les processus qui ne répondent pas.
C’est à dire les processus qui sans réponse aux “PING” de Windows.
Pour cela, il faut filtrer sur l’état de cette manière :

tasklist /fi "status eq not responding"

Nom de l’image                 PID Nom de la sessio Numéro de s Utilisation
========================= ======== ================ =========== ============
Widgets.exe                  20888 Console                    1    39 068 Ko
SystemSettingsAdminFlows.     6924 Console                    1    22 188 Ko
Lister les processus qui ne répondent pas avec tasklist

Obtenir la liste des services en cours d’exécution dans un processus

Utilisez l’option /svc pour obtenir la liste des services Windows :

tasklist /svc
Obtenir la liste des services en cours d'exécution dans un processus sur tasklist

Astuce : vous pouvez aussi filtrer sur le nom de la session comme ceci :

tasklist /fi "SESSIONNAME eq services"
Obtenir la liste des services en cours d'exécution dans un processus sur tasklist

A partir de là, il est possible d’utiliser des filtres.
Par exemple pour ne lister que les services en cours d’exécution :

tasklist /fi "STATUS eq running"

Pour lister les services Windows liés aux réseaux :

tasklist /fi "SESSIONNAME eq services" /fi "USERNAME eq AUTORITE NT\SERVICE RÉSEAU"

Trouver le processus exécutant un service spécifique

Pour trouver le processus lié à un nom de service, utilisez le filtre services :

tasklist /fi "services eq <nom du service>"

Pour trouver le svchost.exe lié au service DNS :

tasklist /fi "services eq Dnscache"

Nom de l’image                 PID Nom de la sessio Numéro de s Utilisation
========================= ======== ================ =========== ============
svchost.exe                   2444 Services                   0    10 504 Ko
Trouver le processus exécutant un service spécifique avec tasklist

Obtenir la liste des processus en cours pour plus d’un certain temps

Pour afficher les processus avec un temps d’exécution :

tasklist /fi "cputime gt hh:mm:ss"

Par exemple, les processus dont le temps d’exécution excède les 2H :

tasklist /fi "cputime gt 02:00:00"
Obtenir la liste des processus en cours pour plus d'un certain temps avec tasklist

Alors que si l’on veut un temps d’exécution inférieur à une valeur, utilisez l’opérateur lt.
Par exemple pour obtenir les processus dont le temps d’exécution est inférieur à 15 minutes :

tasklist /fi "cputime lt 00:15:00"
Obtenir la liste des processus en cours pour plus d'un certain temps avec tasklist

Trouver des processus qui exécutent un fichier d’image spécifié

Pour lister tous les processus par le nom d’image :

tasklist /fi "imagename eq <nom Image>"

Si vous souhaitez lister tous les processus chrome :

tasklist /fi "imagename eq chrome.exe"
Trouver des processus qui exécutent un fichier d'image spécifié avec tasklist

Trouver un processus par le nom de la fenêtre

Vous pouvez aussi retrouver le processus à partir du nom de la fenêtre.
Cela peut être utile lorsque vous avez une fenêtre avec un nom et vous ne savez pas à quel processus, cela correspond.
Pour cela, on utilise le filtre WindowTitle comme ceci :

tasklist /fi "windowtitle eq <Nom Fenêtre>"

Par exemple pour trouver le processus qui ouvre une fenêtre avec le titre “Mots de passe – KeepassXC”

tasklist /fi "windowtitle eq Mots de passe - KeepassXC"

Nom de l’image                 PID Nom de la sessio Numéro de s Utilisation
========================= ======== ================ =========== ============
KeePassXC.exe                16108 Console                    1    91 172 Ko
Pour que cela fonctionne, il faut renseigner la valeur complète et exacte de la fenêtre.
Trouver un processus par le nom de la fenêtre avec tasklist

Obtenir la liste du processus avec une utilisation mémoire supérieure/inférieure à une valeur

Tasklist peut aussi lsiter les processus dont l’utilisation mémoire dépasse une valeur.
La syntaxe à utiliser est la suivante.

tasklist /fi "memusage gt <Taille Mémoire>"

La taille de la mémoire doit être spécifiée dans KB.
Par exemple, pour obtenir la liste des processus occupant plus de 40 Mo de mémoire, nous pouvons exécuter la commande ci-dessous.

tasklist /fi "memusage gt 40000"
Obtenir la liste du processus avec une utilisation mémoire supérieure/inférieure à une valeur avec tasklist

Pour filtrer la liste des processus sur l’utilisation mémoire inférieure à une valeur, on utilise l’opérateur lt de cette manière :

tasklist /fi "memusage lt <Taille Mémoire>"

Répertorier les processus d’un ordinateur distant

Pour répertorier les processus sur l’ordinateur distant serveur, à l’aide des informations d’identification de votre compte d’utilisateur actuellement connecté, tapez :

tasklist /s serveur

A partir de là, vous pouvez utiliser d’autres options supplémentaires pour filtrer la liste :

tasklist /s serveur /svc /fi "MODULES eq ntdll*"

Si l’ordinateur est sur un domaine Windows, utilisez l’option /u et /p pour spécifier un nom d’utilisateur et son mot de passe pour se connecter à l’ordinateur distant :

tasklist /s serveur /u <domaine\utilisateur> /p <motdepasse>

Par exemple pour se connecter avec KevinAdmin sur le domaine Mondomaine avec le mot de passe [email protected] :

tasklist /s serveur /u Mondomaine\KevinAdmin /p [email protected]