Come identificare il processo Windows terminato se ho ancora il suo PID?


14

Sfondo: Nel mezzo del mio lavoro, improvvisamente è apparso l'accordo di licenza per l'installazione di "Microsoft Mouse and Keyboard Center". Mi piacerebbe capire quale processo ha avviato l'installazione, ma usando Process Explorer, ho visto che è andato, sono stato in grado di trovare solo il suo PID (vedi screenshot).

Domanda:

Se stai usando Process Explorer , forse conosci la situazione in cui il processo parent del processo non esiste più e puoi solo vedere il suo PID:

inserisci qui la descrizione dell'immagine

Esistono alcuni registri di Windows che contengono l'associazione di PID al processo in esecuzione in modo che io possa scoprire quale processo era in esecuzione con il PID specificato?

Preferibilmente sono interessato agli scenari, in cui non me lo aspettavo, quindi non ho usato Process Monitor per acquisire eventi nel sistema.

Risposte:


11

Esistono alcuni registri di Windows contenenti l'associazione di PID al processo in esecuzione

Per impostazione predefinita, non esistono registri di questo tipo. Tuttavia, è possibile abilitare Eventi di tracciabilità dei processi nel registro eventi di sicurezza di Windows.

Appunti:


Come utilizzare gli eventi di rilevamento processi nel registro di sicurezza di Windows

In Windows 2003 / XP si ottengono questi eventi semplicemente abilitando il criterio di controllo Tracking del processo.

In Windows 7/2008 + è necessario abilitare la creazione del processo di controllo e, facoltativamente, le sottocategorie di completamento del processo di controllo che si trovano in Configurazione avanzata dei criteri di controllo negli oggetti dei criteri di gruppo.

Questi eventi sono incredibilmente preziosi perché forniscono una traccia di controllo completa ogni volta che qualsiasi eseguibile sul sistema viene avviato come processo. È anche possibile determinare la durata del processo collegando l'evento di creazione del processo all'evento di terminazione del processo utilizzando l'ID processo trovato in entrambi gli eventi. Di seguito sono riportati esempi di entrambi gli eventi.

inserisci qui la descrizione dell'immagine

Origine Come utilizzare gli eventi di rilevamento processi nel registro di sicurezza di Windows


Come abilitare la creazione del processo di audit

  1. Esegui gpedit.msc

  2. Seleziona "Impostazioni di Windows"> "Impostazioni di sicurezza"> "Criteri locali"> "Criteri di controllo"

    inserisci qui la descrizione dell'immagine

  3. Fare clic con il tasto destro del mouse su "Tracciamento del processo di controllo" e selezionare "Proprietà"

  4. Seleziona "Operazione riuscita" e fai clic su "OK"

    inserisci qui la descrizione dell'immagine


Che cos'è il monitoraggio del processo di verifica

Questa impostazione di sicurezza determina se il sistema operativo controlla gli eventi relativi al processo come la creazione del processo, la conclusione del processo, la gestione della duplicazione e l'accesso indiretto agli oggetti.

Se viene definita questa impostazione di criterio, l'amministratore può specificare se controllare solo gli esiti positivi, solo gli errori, sia gli esiti positivi che i guasti, oppure se non controllare affatto tali eventi (ovvero né esiti positivi o negativi).

Se il controllo riuscito è abilitato, viene generata una voce di controllo ogni volta che il sistema operativo esegue una di queste attività correlate al processo.

Se il controllo degli errori è abilitato, viene generata una voce di controllo ogni volta che il sistema operativo non riesce a svolgere una di queste attività.

Impostazione predefinita: nessun controllo

Importante: per un maggiore controllo sui criteri di controllo, utilizzare le impostazioni nel nodo Configurazione avanzata criteri di controllo. Per ulteriori informazioni sulla configurazione avanzata dei criteri di controllo, vedere http://go.microsoft.com/fwlink/?LinkId=140969 .


Dave, forse potresti usare l'approccio "pistola più veloce a ovest" . Mentre stavi scrivendo la tua lunga ed elaborata risposta, ho eseguito i passaggi nell'altra risposta (la stessa che hai aggiunto in seguito) e stavo per accettarla. Quindi ora ho un dilemma che risponde per accettare ... :)
miroxlav,

1
Preferirei avere la risposta migliore della prima risposta;) Se sono la stessa cosa, allora è un bonus. Ti ho informato (in un commento ora ripulito) che stavo preparando la mia risposta. E sto usando una connessione Internet lenta tramite il mio cellulare: /
DavidPostill

Oh sì, l'hai fatto. OTOH, forse non essere timido nel scrivere "puoi abilitare la registrazione di audit nelle politiche locali", pubblicare e continuare a creare risposte con valore educativo. A volte anche un piccolo indizio potrebbe aiutarmi meglio (il PO) piuttosto che aspettare 60 minuti per una risposta eccezionale :) Voglio dire, so dove sono le politiche locali, avevo solo bisogno di un indizio minore.
miroxlav,

@DavidPostill: Sarebbe bello se potessi menzionare quanto spesso questi registri vengono puliti (o quanto spesso dovrebbero essere puliti manualmente), perché immagino che possano durare abbastanza a lungo ...
user541686

1
@Mehrdad Se necessario, i registri eventi possono essere eliminati dalla riga di comando wevtutil. È più semplice che usare la GUI del Visualizzatore eventi.
DavidPostill

3

L'unico modo per vedere è che il controllo deve essere abilitato per tenere traccia della creazione dei processi.

Dal programma "Criteri di sicurezza locali" (digitare secpol.mscdalla schermata di esecuzione se si riscontrano problemi nel trovarlo) andare su "Impostazioni di sicurezza -> Politiche locali -> Criteri di controllo" quindi abilitare il "Tracciamento del processo di controllo" per "Esito positivo".

inserisci qui la descrizione dell'immagine

Una volta fatto, vai al Visualizzatore eventi e controlla il registro eventi "Secruity", lì dentro vedrai le voci "Audit Success" ogni volta che un processo viene avviato o terminato.

È uscito un processo.

Soggetto:
    ID sicurezza: SYSTEM
    Nome account: SCOTT-PC $
    Dominio account: WORKGROUP
    ID di accesso: 0x3E7

Informazioni sul processo:
    ID processo: 0x1338
    Nome del processo: C: \ Windows \ System32 \ consent.exe
    Stato uscita: 0x0

Dovrai convertire l'ID processo che stai cercando da decimale in esadecimale (3336 diventa 0xD08). Il modo più semplice per convertire è aprire il calcolatore di Windows, andare in modalità "Programmatore", inserire il numero in modalità "dec", quindi fare clic sulla modalità "esadecimale". Il numero visualizzato verrà convertito in esadecimale per te.


Sì, questo è il tipo di risposta che mi aspettavo. Detto semplicemente: abilita alcuni log e diventa quindi in grado di controllarne i risultati.
miroxlav,

0

Se questa è una cosa sola e non si desidera registrare sempre i processi, suggerirei di utilizzare Microsoft Process Monitor ( https://technet.microsoft.com/en-us/Library/bb896645.aspx ). Deve essere eseguito prima che il popolare venga generato, ma anche dopo che il processo genitore è morto avrà catturato tutte le informazioni che stavi cercando.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.