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.
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.
Antworten:
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.
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.
Quelle Verwendung von Prozessverfolgungsereignissen im Windows-Sicherheitsprotokoll
Führen Sie gpedit.msc aus
Wählen Sie "Windows-Einstellungen"> "Sicherheitseinstellungen"> "Lokale Richtlinien"> "Überwachungsrichtlinie"
Klicken Sie mit der rechten Maustaste auf "Audit Process Tracking" und wählen Sie "Eigenschaften".
Überprüfen Sie "Erfolg" und klicken Sie auf "OK"
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 .
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
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.
ExecutedProgramList
gibt 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++
, GSNotes
sowie fast jedes Cygwin
Programm , das ich seit meinem letzten Neustart ausgeführt habe. Es ist also nicht sehr umfassend .
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.)