Le Gestionnaire des tâches affiche les programmes en cours d'exécution - comment puis-je voir ceux qui sont terminés?

16

Comment savoir quels programmes ont été exécutés sur mon ordinateur même s'ils ont été arrêtés dans la mesure où le Gestionnaire des tâches ne peut rien montrer?

Je n'utilise pas mon ordinateur seul et suis parfois méfiant.

MrSeas
la source
4
Si le processus est terminé, il ne s'affichera pas dans le gestionnaire de tâches, mais il peut s'afficher dans un journal des événements système, voir Observateur d'événements.
Moab
7
Si vous ne pouvez vraiment pas faire confiance aux personnes qui partagent votre ordinateur, il est probablement trop peu, trop tard pour savoir ce qu'elles faisaient .
Cody Gray
1
L'ironie de cette question est délicieuse. Vous dites que vous vous méfiez de ce que les autres font sur l'ordinateur partagé que vous utilisez, mais c'est vous qui essayez de voir ce que tout le monde a fait avec leur compte !!
Courses de légèreté avec Monica le

Réponses:

36

Comment savoir quels programmes ont été exécutés lorsqu'ils ont été arrêtés

Par défaut, il n'existe aucun journal des programmes exécutés.

Cependant, vous pouvez activer les événements de suivi des processus dans le journal des événements de sécurité de Windows (voir ci-dessous pour les instructions) et ces informations seront alors disponibles à l'avenir.

Une fois les événements de suivi des processus activés, vous pouvez utiliser les commandes Powershell suivantes pour examiner les événements:

Début du processus:

Get-EventLog Security | Where-Object {$_.EventID -eq 4688} | Format-List

Arrêt du processus:

Get-EventLog Security | Where-Object {$_.EventID -eq 4689} | Format-List

Les commandes ci-dessus transfèrent les informations sur l'événement à l'écran.


Comment utiliser les événements de suivi des processus dans le journal de sécurité Windows

Dans Windows 2003 / XP, vous obtenez ces événements en activant simplement la stratégie d'audit de suivi des processus.

Dans Windows 7/2008 +, vous devez activer la création du processus d'audit et, éventuellement, les sous-catégories Audit Process Termination que vous trouverez sous Advanced Audit Policy Configuration dans les objets de stratégie de groupe.

Ces événements sont incroyablement précieux car ils fournissent une piste d'audit complète de chaque démarrage d'un exécutable sur le système en tant que processus . Vous pouvez même déterminer la durée du processus en liant l'événement de création de processus à l'événement de fin de processus à l'aide de l'ID de processus trouvé dans les deux événements. Des exemples des deux événements sont présentés ci-dessous.

entrez la description de l'image ici

Source Comment utiliser les événements de suivi des processus dans le journal de sécurité Windows


Comment activer la création de processus d'audit

  1. Exécutez gpedit.msc

  2. Sélectionnez "Paramètres Windows"> "Paramètres de sécurité"> "Stratégies locales"> "Stratégie d'audit"

    entrez la description de l'image ici

  3. Faites un clic droit sur "Suivi du processus d'audit" et sélectionnez "Propriétés"

  4. Cochez "Succès" et cliquez sur "OK"

    entrez la description de l'image ici


Qu'est-ce que le suivi du processus d'audit

Ce paramètre de sécurité détermine si le système d'exploitation audite les événements liés au processus tels que la création de processus, la fin du processus, la duplication de gestion et l'accès indirect aux objets.

Si ce paramètre de stratégie est défini, l'administrateur peut spécifier s'il convient d'auditer uniquement les succès, uniquement les échecs, à la fois les succès et les échecs, ou de ne pas auditer ces événements du tout (c'est-à-dire ni les succès ni les échecs).

Si l'audit réussi est activé, une entrée d'audit est générée chaque fois que le système d'exploitation exécute l'une de ces activités liées au processus.

Si l'audit des échecs est activé, une entrée d'audit est générée chaque fois que le système d'exploitation ne parvient pas à effectuer l'une de ces activités.

Par défaut: aucun audit

Important: pour mieux contrôler les stratégies d'audit, utilisez les paramètres du nœud Configuration avancée de la stratégie d'audit. Pour plus d'informations sur la configuration de stratégie d'audit avancée, voir http://go.microsoft.com/fwlink/?LinkId=140969 .


Qu'en est-il de ExecutedProgramList de Nirsoft? Puis-je l'utiliser?

ExecutedProgramList ne donne pas une liste complète des programmes qui ont été exécutés.

Par exemple, il ne répertorie aucun des programmes portables que j'exécute actuellement à partir de ma clé USB, par exemple Agent, Notepad ++, GSNotes ainsi que presque tous les programmes Cygwin que j'ai exécutés depuis mon dernier redémarrage.

Il ne répertorie aucun programme qui n'écrit rien aux emplacements mentionnés dans le lien:

La liste des programmes précédemment exécutés est collectée à partir des sources de données suivantes:

  • Clé d'enregistrement: HKEY_CURRENT_USER\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
  • Clé d'enregistrement: HKEY_CURRENT_USER\Microsoft\Windows\ShellNoRoam\MUICache
  • Clé d'enregistrement: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
  • Clé d'enregistrement: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
  • Dossier Windows Prefetch (C: \ Windows \ Prefetch)

Source ExecutedProgramList


Lectures complémentaires

DavidPostill
la source
Un extrait de PowerShell astucieux pour extraire les informations résultantes serait un bon ajout à cette excellente réponse.
Peter Mortensen
@PeterMortensen Merci. En effet, ce serait le cas. Malheureusement, je ne connais pas assez bien le PowerShell pour en écrire un.
DavidPostill
La duplication de la poignée d'audit semble incroyablement spam.
user253751
@PeterMortensen J'ai réussi à écrire un one-liner qui donne les informations;)
DavidPostill
@ user20574 Que voulez-vous dire?
DavidPostill
3

Nirsoft a une petite application gratuite, ExecutedProgramList , qui affiche une liste de programmes et de fichiers batch exécutés sur votre système. Notez qu'il n'est pas toujours en mesure d'afficher l'heure du dernier démarrage d'une application, en raison des limitations inhérentes à Windows et, comme @DavidPostill l'a mentionné, il peut manquer des applications portables.

Il dérive ses informations de Windows, il n'a donc pas besoin d'être exécuté pour compiler sa liste.

DrMoishe Pippik
la source
1
ExecutedProgramListne donne pas une liste complète des programmes exécutés. Par exemple, il ne liste aucun des programmes portables , je suis actuellement à mon thumbdrive, par exemple Agent, Notepad++, GSNotesainsi que presque tous les Cygwinprogrammes que j'ai couru depuis mon dernier redémarrage. Ce n'est donc pas très complet .
DavidPostill
Il ne répertorie aucun programme qui n'écrit rien aux emplacements mentionnés dans le lien.
DavidPostill
Comment ça marche? Est-ce qu'il échantillonne en continu les processus en cours d'exécution? Ou est-il averti par Windows lorsque les processus sont démarrés et arrêtés?
Peter Mortensen
@PeterMortensen Voir la fin de ma réponse pour savoir comment cela fonctionne. Et il a besoin d'un rafraîchissement manuel.
DavidPostill
1

L'historique des processus le fait également. Il s'agit d'une base de données de processus gratuite et portable.

C'est un simple téléchargement portable .zip. Il y a un manuel sur la façon de l'utiliser avec la vidéo sur le site de téléchargement.

Tant que l'historique des processus est en cours d'exécution, vous pouvez interroger les processus qui se sont terminés via une interface graphique distincte.

Il fonctionnera sur n'importe quelle version de Windows à partir de XP.

(Je suis l'auteur de ce logiciel open source.)

Historique du processus
la source