Comment identifier le processus Windows terminé si j'ai toujours son PID?

14

Contexte: Au milieu de mon travail, un accord de licence pour l'installation de "Microsoft Mouse and Keyboard Center" est soudainement apparu. J'aimerais comprendre quel processus a lancé la configuration, mais en utilisant Process Explorer, j'ai vu que c'était parti, je n'ai pu trouver que son PID (voir capture d'écran).

Question:

Si vous utilisez Process Explorer , vous connaissez peut-être la situation où le processus parent du processus n'existe plus et vous ne pouvez voir que son PID:

entrez la description de l'image ici

Existe-t-il des journaux Windows contenant l'association du PID au processus en cours afin que je puisse savoir quel processus était en cours d'exécution sous un PID donné?

De préférence, je suis intéressé par les scénarios, où je ne m'attendais pas à cela, donc je n'ai pas utilisé Process Monitor pour capturer les événements dans le système.

miroxlav
la source

Réponses:

11

Existe-t-il des journaux Windows contenant l'association du PID au processus en cours

Par défaut, il n'y a pas de tels journaux. Cependant, vous pouvez activer les événements de suivi des processus dans le journal des événements de sécurité Windows.

Remarques:


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 d'exécution 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 .

DavidPostill
la source
Dave, vous pourriez peut-être utiliser l'approche du "pistolet le plus rapide à l'ouest" . Pendant que vous écriviez votre réponse longue et élaborée, j'ai effectué des étapes dans l'autre réponse (la même que vous avez ajoutée plus tard) et j'étais sur le point de l'accepter. Alors maintenant, j'ai un dilemme qui répond d'accepter ... :)
miroxlav
1
Je préférerais avoir la meilleure réponse que la première réponse;) S'ils sont la même chose, alors c'est un bonus. Je vous ai informé (dans un commentaire maintenant nettoyé) que je préparais ma réponse. Et j'utilise une connexion Internet lente via mon mobile: /
DavidPostill
Oh ouais, tu l'as fait. OTOH, n'hésitez peut-être pas à écrire "vous pouvez activer la journalisation d'audit dans les politiques locales", postez et continuez à créer une réponse à valeur éducative. Parfois, même un petit indice pourrait mieux m'aider (l'OP) que d'attendre 60 minutes pour une bonne réponse :) Je veux dire, je sais où sont les politiques locales, j'avais juste besoin d'un indice mineur.
miroxlav
@DavidPostill: Ce serait bien si vous pouviez mentionner à quelle fréquence ces journaux sont nettoyés (ou à quelle fréquence ils devraient être nettoyés manuellement), car j'imagine qu'ils peuvent être assez longs ...
user541686
1
@Mehrdad Les journaux d'événements peuvent, si nécessaire, être supprimés de la ligne de commande à l'aide de wevtutil. C'est plus facile que d'utiliser l'interface graphique de l'Observateur d'événements.
DavidPostill
3

La seule façon de voir est que vous devez activer l'audit pour suivre la création des processus.

Dans le programme "Stratégie de sécurité locale" (tapez secpol.mscdans l'écran d'exécution si vous ne parvenez pas à le trouver), accédez à "Paramètres de sécurité -> Polices locales -> Politique d'audit" puis activez le "Suivi du processus d'audit" pour "Succès".

entrez la description de l'image ici

Une fois que vous avez fait cela, allez dans l'Observateur d'événements et vérifiez le journal des événements "Sécurité", là vous verrez les entrées "Audit Success" pour chaque fois qu'un processus est démarré ou terminé.

Un processus est terminé.

Matière:
    ID de sécurité: SYSTEM
    Nom du compte: SCOTT-PC $
    Domaine du compte: WORKGROUP
    ID de connexion: 0x3E7

Traitement de l'information:
    ID de processus: 0x1338
    Nom du processus: C: \ Windows \ System32 \ consent.exe
    Statut de sortie: 0x0

Vous devrez convertir l'ID de processus que vous recherchez de décimal en hexadécimal (3336 devient 0xD08). La façon la plus simple de convertir est d'ouvrir la calculatrice Windows, allez en mode "Programmeur", entrez le nombre en mode "déc", puis cliquez sur le mode "hex". Le nombre affiché sera converti en hex pour vous.

Scott Chamberlain
la source
Oui, c'est le genre de réponse que j'attendais. Dit simplement: activez la journalisation et devenez ainsi capable de vérifier ses résultats.
miroxlav
0

Si c'est une chose unique et que vous ne voulez pas toujours enregistrer vos processus, je suggère d'utiliser Microsoft Process Monitor ( https://technet.microsoft.com/en-us/Library/bb896645.aspx ). Il doit être exécuté avant que le populaire n'apparaisse, mais même après la mort du processus parent, il aura capturé toutes les informations que vous cherchiez.

mrTomahawk
la source