El Administrador de tareas muestra los programas que se están ejecutando. ¿Cómo puedo ver los que han finalizado?

16

¿Cómo puedo saber qué programas se han estado ejecutando en mi computadora, incluso si se han detenido en la medida en que el Administrador de tareas no puede mostrar nada?

No uso mi computadora sola y a veces sospecho.

MrSeas
fuente
44
Si el proceso ha finalizado, no se mostrará en el administrador de tareas, pero puede aparecer en un registro de eventos del sistema, consulte Visor de eventos.
Moab
77
Si realmente no puede confiar en las personas que comparten su computadora, entonces descubrir lo que estaban ejecutando probablemente sea demasiado poco y demasiado tarde.
Cody Gray
1
La ironía de esta pregunta es deliciosa. ¡Dices que sospechas de lo que hacen los demás en la computadora compartida que usas, pero eres el único que intenta espiar lo que todos los demás han hecho con su cuenta!
Lightness compite con Monica

Respuestas:

36

¿Cómo puedo saber qué programas se han estado ejecutando cuando se han detenido?

Por defecto no hay registros de qué programas se han ejecutado.

Sin embargo, puede habilitar los eventos de seguimiento de procesos en el registro de eventos de seguridad de Windows (consulte las instrucciones a continuación) y esta información estará disponible para usted en el futuro.

Una vez que los Eventos de seguimiento de procesos están habilitados, puede usar los siguientes comandos de Powershell para examinar los eventos:

Inicio del proceso:

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

Parada del proceso:

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

Los comandos anteriores vuelcan la información del evento en la pantalla.


Cómo usar los eventos de seguimiento de procesos en el registro de seguridad de Windows

En Windows 2003 / XP, obtiene estos eventos simplemente habilitando la política de auditoría de seguimiento de procesos.

En Windows 7/2008 +, debe habilitar la creación del proceso de auditoría y, opcionalmente, las subcategorías de terminación del proceso de auditoría que encontrará en Configuración avanzada de la política de auditoría en los objetos de la política de grupo.

Estos eventos son increíblemente valiosos porque brindan una pista de auditoría exhaustiva de cada vez que se inicia un ejecutable en el sistema como un proceso . Incluso puede determinar cuánto tiempo se ejecutó el proceso al vincular el evento de creación del proceso con el evento de finalización del proceso utilizando la ID del proceso que se encuentra en ambos eventos. A continuación se muestran ejemplos de ambos eventos.

ingrese la descripción de la imagen aquí

Fuente Cómo utilizar los eventos de seguimiento de procesos en el registro de seguridad de Windows


Cómo habilitar la creación de procesos de auditoría

  1. Ejecute gpedit.msc

  2. Seleccione "Configuración de Windows"> "Configuración de seguridad"> "Políticas locales"> "Política de auditoría"

    ingrese la descripción de la imagen aquí

  3. Haga clic derecho en "Seguimiento del proceso de auditoría" y seleccione "Propiedades"

  4. Marque "Éxito" y haga clic en "Aceptar"

    ingrese la descripción de la imagen aquí


¿Qué es el seguimiento del proceso de auditoría?

Esta configuración de seguridad determina si el sistema operativo audita los eventos relacionados con el proceso, como la creación del proceso, la finalización del proceso, la duplicación del identificador y el acceso indirecto a objetos.

Si se define esta configuración de directiva, el administrador puede especificar si auditar solo los éxitos, solo los fracasos, tanto los éxitos como los fracasos, o no auditar estos eventos (es decir, ni los éxitos ni los fracasos).

Si la auditoría de éxito está habilitada, se genera una entrada de auditoría cada vez que el sistema operativo realiza una de estas actividades relacionadas con el proceso.

Si la auditoría de fallas está habilitada, se genera una entrada de auditoría cada vez que el sistema operativo no puede realizar una de estas actividades.

Valor predeterminado: sin auditoría

Importante: Para tener más control sobre las políticas de auditoría, use la configuración en el nodo Configuración avanzada de políticas de auditoría. Para obtener más información sobre la configuración avanzada de la política de auditoría, consulte http://go.microsoft.com/fwlink/?LinkId=140969 .


¿Qué pasa con ExecutedProgramList de Nirsoft? ¿Puedo usar eso?

ExecutedProgramList no proporciona una lista completa de los programas que se han ejecutado.

Por ejemplo, no enumera ninguno de los programas portátiles que estoy ejecutando actualmente desde mi memoria USB, por ejemplo, Agent, Notepad ++, GSNotes, así como casi todos los programas Cygwin que he ejecutado desde mi último reinicio.

No enumerará ningún programa que no escriba nada en las ubicaciones mencionadas en el enlace:

La lista de programas ejecutados previamente se recopila de las siguientes fuentes de datos:

  • Clave de registro: HKEY_CURRENT_USER\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
  • Clave de registro: HKEY_CURRENT_USER\Microsoft\Windows\ShellNoRoam\MUICache
  • Clave de registro: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
  • Clave de registro: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
  • Carpeta de captación previa de Windows (C: \ Windows \ Prefetch)

Source ExecutedProgramList


Otras lecturas

DavidPostill
fuente
Un ingenioso fragmento de PowerShell para extraer la información resultante sería una buena adición a esta excelente respuesta.
Peter Mortensen
@ PeterMortensen Gracias. De hecho lo haría. Desafortunadamente, no conozco PowerShell lo suficientemente bien como para escribir uno.
DavidPostill
La auditoría de la duplicación de identificadores suena increíblemente spam.
user253751
@PeterMortensen Me las arreglé para escribir una frase que proporciona la información;)
DavidPostill
@ user20574 ¿Qué quieres decir?
DavidPostill
3

Nirsoft tiene una pequeña aplicación gratuita, ExecutedProgramList , que muestra una lista de programas y archivos por lotes que se ejecutan en su sistema. Tenga en cuenta que no siempre puede mostrar la hora en que se inició una aplicación por última vez, debido a las limitaciones inherentes a Windows, y, como mencionó @DavidPostill, puede faltar aplicaciones portátiles.

Deriva su información de Windows, por lo que no necesita ejecutarse para compilar su lista.

DrMoishe Pippik
fuente
1
ExecutedProgramListno da una lista completa de programas ejecutados. Por ejemplo, no muestra ninguno de los programas portátiles actualmente estoy corriendo de mi dispositivo en miniatura, por ejemplo Agent, Notepad++, GSNotesasí como casi todos los Cygwinprogramas que he corrido desde mi último reinicio. Entonces no es muy completo .
DavidPostill
No enumerará ningún programa que no escriba nada en las ubicaciones mencionadas en el enlace.
DavidPostill
¿Como funciona? ¿Muestra continuamente los procesos actualmente en ejecución? ¿O recibe una notificación de Windows cuando se inician y detienen los procesos?
Peter Mortensen
@PeterMortensen Vea el final de mi respuesta sobre cómo funciona. Y necesita una actualización manual.
DavidPostill
1

El historial de procesos también hace esto. Es una base de datos de procesos gratuita y portátil.

Es una simple descarga .zip portátil. Hay un manual sobre cómo usarlo con video en el sitio de descarga.

Mientras se esté ejecutando el Historial de procesos, puede consultar los procesos que han terminado a través de una GUI separada.

Se ejecutará en cualquier versión de Windows desde XP.

(Soy el autor de este software de código abierto).

Historia del proceso
fuente