Der Task-Manager zeigt laufende Programme an. Wie kann ich sehen, welche beendet wurden?


16

Wie kann ich herausfinden, welche Programme auf meinem Computer ausgeführt wurden, auch wenn sie in dem Maße angehalten wurden, dass der Task-Manager nichts anzeigen kann?

Ich benutze meinen Computer nicht alleine und bin manchmal misstrauisch.


4
Wenn der Prozess beendet wurde, wird er nicht im Task-Manager angezeigt, möglicherweise jedoch in einem Systemereignisprotokoll (siehe Ereignisanzeige).
Moab

7
Wenn Sie wirklich können die Menschen nicht trauen , die Ihren Computer gemeinsam nutzen, dann herauszufinden , was sie waren läuft wahrscheinlich zu wenig ist, zu spät.
Cody Grey

1
Die Ironie dieser Frage ist köstlich. Sie sagen, Sie werden misstrauisch, was andere auf dem gemeinsam genutzten Computer tun, aber Sie sind derjenige, der versucht, herauszufinden, was alle anderen mit ihrem Konto gemacht haben !!
Leichtigkeit Rennen mit Monica

Antworten:


36

Wie finde ich heraus, welche Programme ausgeführt wurden, als sie gestoppt wurden?

Standardmäßig gibt es keine Protokolle darüber, welche Programme ausgeführt wurden.

Sie können jedoch Prozessverfolgungsereignisse im Windows-Sicherheitsereignisprotokoll aktivieren (Anweisungen hierzu finden Sie weiter unten). Diese Informationen stehen Ihnen dann in Zukunft zur Verfügung.

Sobald die Prozessverfolgungsereignisse aktiviert sind, können Sie die folgenden Powershell-Befehle verwenden, um die Ereignisse zu untersuchen:

Prozessstart:

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

Prozessstopp:

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

Die obigen Befehle geben die Ereignisinformationen auf dem Bildschirm aus.


Verwendung von Prozessverfolgungsereignissen im Windows-Sicherheitsprotokoll

In Windows 2003 / XP erhalten Sie diese Ereignisse, indem Sie einfach die Überwachungsrichtlinie für die Prozessverfolgung aktivieren.

In Windows 7/2008 + müssen Sie die Unterkategorien Audit Process Creation und optional Audit Process Termination aktivieren, die Sie unter Advanced Audit Policy Configuration in Gruppenrichtlinienobjekten finden.

Diese Ereignisse sind unglaublich wertvoll, da sie einen umfassenden Prüfpfad für jedes Mal bereitstellen, wenn eine ausführbare Datei auf dem System als Prozess gestartet wird . Sie können sogar bestimmen, wie lange der Prozess ausgeführt wurde, indem Sie das Prozesserstellungsereignis mit dem Prozessbeendigungsereignis verknüpfen, indem Sie die in beiden Ereignissen festgestellte Prozess-ID verwenden. Beispiele für beide Ereignisse sind unten aufgeführt.

Bildbeschreibung hier eingeben

Quelle Verwendung von Prozessverfolgungsereignissen im Windows-Sicherheitsprotokoll


So aktivieren Sie die Audit-Prozess-Erstellung

  1. Führen Sie gpedit.msc aus

  2. Wählen Sie "Windows-Einstellungen"> "Sicherheitseinstellungen"> "Lokale Richtlinien"> "Überwachungsrichtlinie"

    Bildbeschreibung hier eingeben

  3. Klicken Sie mit der rechten Maustaste auf "Audit Process Tracking" und wählen Sie "Eigenschaften".

  4. Überprüfen Sie "Erfolg" und klicken Sie auf "OK"

    Bildbeschreibung hier eingeben


Was ist Audit Process Tracking?

Diese Sicherheitseinstellung legt fest, ob das Betriebssystem prozessbezogene Ereignisse wie das Erstellen von Prozessen, das Beenden von Prozessen, das Verarbeiten von Duplikaten und den indirekten Objektzugriff überwacht.

Wenn diese Richtlinieneinstellung definiert ist, kann der Administrator angeben, ob nur Erfolge und nur Fehler, sowohl Erfolge als auch Fehler, oder ob diese Ereignisse überhaupt nicht (dh weder Erfolge noch Fehler) überwacht werden sollen.

Wenn die Erfolgsüberwachung aktiviert ist, wird jedes Mal ein Überwachungseintrag generiert, wenn das Betriebssystem eine dieser prozessbezogenen Aktivitäten ausführt.

Wenn die Fehlerüberwachung aktiviert ist, wird jedes Mal ein Überwachungseintrag generiert, wenn das Betriebssystem eine dieser Aktivitäten nicht ausführt.

Standardeinstellung: Keine Überwachung

Wichtig: Um mehr Kontrolle über Überwachungsrichtlinien zu erhalten, verwenden Sie die Einstellungen im Knoten Erweiterte Überwachungsrichtlinienkonfiguration. Weitere Informationen zur erweiterten Konfiguration von Überwachungsrichtlinien finden Sie unter http://go.microsoft.com/fwlink/?LinkId=140969 .


Was ist mit ExecutedProgramList von Nirsoft? Kann ich das benutzen?

ExecutedProgramList gibt keine vollständige Liste der ausgeführten Programme an.

Es werden beispielsweise keine tragbaren Programme aufgelistet, die ich derzeit von meinem USB-Stick aus ausführe, z. B. Agent, Notepad ++, GSNotes sowie fast alle Cygwin-Programme, die ich seit meinem letzten Neustart ausgeführt habe.

Es wird kein Programm aufgelistet, das nichts an die im Link genannten Stellen schreibt:

Die Liste der zuvor ausgeführten Programme wird aus den folgenden Datenquellen gesammelt:

  • Registrierungsschlüssel: HKEY_CURRENT_USER\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache
  • Registrierungsschlüssel: HKEY_CURRENT_USER\Microsoft\Windows\ShellNoRoam\MUICache
  • Registrierungsschlüssel: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Persisted
  • Registrierungsschlüssel: HKEY_CURRENT_USER\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\Store
  • Windows Prefetch-Ordner (C: \ Windows \ Prefetch)

Quelle ExecutedProgramList


Weitere Lektüre


Ein elegantes PowerShell- Snippet zum Extrahieren der resultierenden Informationen wäre eine schöne Ergänzung zu dieser hervorragenden Antwort.
Peter Mortensen

@PeterMortensen Danke. In der Tat würde es. Leider kenne ich Powershell nicht gut genug, um einen zu schreiben.
DavidPostill

Das Duplizieren von Auditing-Handles klingt unglaublich spammig.
user253751

@PeterMortensen Ich habe es geschafft, einen Einzeiler zu schreiben, der die Informationen liefert;)
DavidPostill

@ user20574 Was meinst du?
DavidPostill

3

Nirsoft hat eine kleine, kostenlose Anwendung, ExecutedProgramList , die eine Liste der Programme und Batch-Dateien anzeigt, die auf Ihrem System ausgeführt wurden. Beachten Sie, dass es aufgrund von Windows-spezifischen Einschränkungen nicht immer möglich ist, den Zeitpunkt des letzten Starts einer Anwendung anzuzeigen. Wie @DavidPostill bereits erwähnte, kann es sein, dass tragbare Apps fehlen.

Es leitet seine Informationen von Windows ab und muss nicht ausgeführt werden, um seine Liste zu kompilieren.


1
ExecutedProgramListgibt keine vollständige Liste der ausgeführten Programme an. Zum Beispiel listet es keine der tragbaren Programme , die ich zur Zeit aus meiner thumbdrive leite, zum Beispiel Agent, Notepad++, GSNotessowie fast jedes CygwinProgramm , das ich seit meinem letzten Neustart ausgeführt habe. Es ist also nicht sehr umfassend .
DavidPostill

Es wird kein Programm aufgelistet, das an den im Link genannten Stellen nichts schreibt.
DavidPostill

Wie funktioniert es? Werden die aktuell ausgeführten Prozesse kontinuierlich überprüft? Oder wird es von Windows benachrichtigt, wenn Prozesse gestartet und gestoppt werden?
Peter Mortensen

@PeterMortensen Sehen Sie am Ende meiner Antwort, wie es funktioniert. Und es muss manuell aktualisiert werden.
DavidPostill

1

Process History macht das auch. Es ist eine kostenlose und portable Prozessdatenbank.

Es ist ein einfacher portabler .zip-Download. Es gibt ein Handbuch zur Verwendung mit Videos auf der Download-Site.

Solange der Prozessverlauf ausgeführt wird, können Sie Prozesse, die beendet wurden, über eine separate Benutzeroberfläche abfragen.

Es läuft auf jeder Windows-Version von XP.

(Ich bin der Autor dieser Open-Source-Software.)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.