Wie kann ich die procmon-Bootprotokollierung für jeden Bootvorgang aktivieren?

5272
David Dai

Ich weiß, dass der Prozessmonitor die Funktion "Bootprotokollierung aktivieren" hat.

aber das wirkt sich erst beim nächsten boot aus.

Gibt es eine Möglichkeit, die Bootprotokollierung zukünftig für jeden Bootvorgang zu aktivieren?

2
Die Startprotokollierung ist für die Problembehandlung vorgesehen und sollte nicht standardmäßig aktiviert werden. Dies gilt umso mehr, als die Protokollierung fortgesetzt wird, bis das Programm das nächste Mal gestartet wird (dh Sie würden alles vom Booten bis zum Herunterfahren protokollieren). Welches Problem versuchen Sie damit zu lösen? Ansgar Wiechers vor 11 Jahren 0
Ich finde alle paar Tage, dass der Eintrag "www.google.com" von meiner Hosts-Datei entfernt wurde, was sehr ärgerlich ist. Ich muss die Datei für einige Tage (wahrscheinlich eine Woche) überwachen, um herauszufinden, welches Programm dies getan hat. David Dai vor 11 Jahren 0
@DavidDai Warum wird das Attribut "Nur Lesen" für die Hosts-Datei nicht festgelegt? Moab vor 11 Jahren 0
das kann ich natürlich. aber ich möchte nur die schwarze Hand dahinter finden. :( David Dai vor 11 Jahren 0
@ansgarwiechers Wenn Sie ProcMon so konfiguriert haben, dass gefilterte Ereignisse gelöscht werden, wäre die Startzeitprotokollierung nicht relativ invasiv? Justin Dearing vor 9 Jahren 0
@JustinDearing Es müsste immer noch in die Startsequenz eingebunden werden und würde immer noch CPU-Zyklen für das Abgleichen und Auswählen von Ereignissen beanspruchen. Und Ereignisse in ein Protokoll schreiben. Die Startprotokollierung ist eine Art Debugprotokollierung. Aktivieren Sie es nicht, es sei denn, Sie haben etwas zu debuggen. Ansgar Wiechers vor 9 Jahren 0

2 Antworten auf die Frage

2
Ansgar Wiechers

Mir ist nicht bekannt, wie man die Bootprotokollierung dauerhaft aktiviert, aber die Bootprotokollierung scheint von zwei Registrierungswerten in der ProcmonTreiberkonfiguration gesteuert zu werden . Vielleicht werden diese Werte (neu) erstellt (z. B. mit einem Startskript), was Sie möchten:

if not exist %SystemRoot%\System32\Drivers\PROCMON23.sys copy PROCMON23.sys %SystemRoot%\System32\Drivers\ reg add HKLM\SYSTEM\CurrentControlSet\services\PROCMON23 /v ImagePath /t REG_SZ /d "System32\Drivers\PROCMON23.sys" /f reg add HKLM\SYSTEM\CurrentControlSet\services\PROCMON23 /v Start /t REG_DWORD /d 0x0 /f reg add HKLM\SYSTEM\CurrentControlSet\services\PROCMON23 /v Type /t REG_DWORD /d 0x1 /f 

Bevor ich jedoch so etwas ausprobierte, versuchte ich zuerst die "normale" Überwachung (ohne Bootprotokollierung). Starten Sie Process Monitor einmal und konfigurieren Sie es so, dass nur der Zugriff auf die hostsDatei überwacht wird ( Filter → Filter ... ). Exportieren Sie diese Konfiguration in die Datei C:\hosts.pmc( Datei → Konfiguration exportieren ... ). Führen Sie dann etwas in einem Startskript aus:

procmon /LoadConfig C:\hosts.pmc /BackingFile C:\hosts_%DATE:/=-%.pml /Quiet > C:\hosts.log 2>&1 

Dadurch wird Process Monitor mit der exportierten Konfiguration ( /LoadConfig C:\hosts.pmc) gestartet, die Überwachung wird gestartet, ohne dass die Filtereinstellungen bestätigt werden müssen ( /Quiet). Die aufgezeichneten Ereignisse werden in einer Protokolldatei mit dem aktuellen Datum ( /BackingFile C:\hosts_%DATE:/=-%.pml) protokolliert . Der Ausdruck %DATE:/=-%erzeugt das aktuelle Datum mit Schrägstrichen, /die durch Bindestriche ersetzt werden -. Wenn Sie kein Datumsformat verwenden, müssen MM/DD/YYYYSie diesen Ausdruck entsprechend ändern.

Startskripts können auf verschiedene Arten konfiguriert werden ( RunSchlüssel in der Registrierung, geplante Aufgaben, Gruppenrichtlinien, ...). Eine Übersicht finden Sie in den Antworten auf diese Frage zu StackOverflow.

Neben den Registrierungsschlüsseln erfordert die Startprotokollierung eine Datei PROCMON23.sys in C: \ Windows \ System32 \ Drivers \. Wenn ich die Startprotokollierung mithilfe des Menüs aktiviere, geschieht dies. Ich kann die Datei jedoch nicht von Drivers an einen anderen Ort verschieben. David Dai vor 11 Jahren 0
Mit Administratorrechten sollten Sie die Datei kopieren können. Möglicherweise könnten Sie die Sicherungskopie zurück in das Treiberverzeichnis kopieren, falls diese nicht vorhanden ist, und dann die Registrierungsschlüssel festlegen. Aber ich empfehle Ihnen, dies nicht zu versuchen, bevor Sie alles andere probiert haben. Ansgar Wiechers vor 11 Jahren 0
Ich konnte PROCMON23.sys nicht einmal mit Administrator sichern. Ich habe Procmon in der letzten Nacht laufen gelassen und habe die Prozesse gefunden, die meine Hosts-Datei ruinieren. Sie sind "System" und "svchost.exe", das ist eine andere Frage. Danke trotzdem. David Dai vor 11 Jahren 0
Stellen Sie sicher, dass Sie PROCMON23.SYS in system32 / drivers kopieren, bevor Sie die Registrierungswerte manuell hinzufügen. Wenn Sie die procmon-GUI-Option verwenden, kopieren Sie sie in dieses Verzeichnis und wenden die reg-Werte an. Wenn Sie diese Option deaktivieren, wird sie gelöscht. Wenn Sie dies manuell tun möchten, kopieren Sie die sys-Datei in dieses Verzeichnis und wenden Sie die reg-Werte an. funktioniert ok vor 11 Jahren 0
1
Justin Dearing

Adam Collett / adjman666 hat dazu ein Vbscript geschrieben und es in die sysinternals-Foren gestellt. . Damit dies funktioniert, müssen \ server \ procmon share Freigabe- und Dateiberechtigungen festgelegt sein, damit "Domänencomputer" von diesem Speicherort aus lesen können. Anderenfalls wird das Skript mit der Meldung "Zugriff verweigert" angezeigt.

'Script to enable boot logging in Process Monitor at every shutdown to ensure we capture all activity, every time.  'Declare the objects used in the script Dim objFSO, objShell, objRegistry  'Declare the variables used in the script Dim strProcmon20KeyPath, strInstancesKeyPath, strPMIKeyPath, strStartValueName, strGroupValueName, strTypeValueName, strImagePathValueName Dim strDefInstanceValueName, strAltitudeValueName, strFlagsValueName, strComputer  'Declare the constants used in the script Const HKEY_LOCAL_MACHINE = &H80000002  'Create our FileSystem, Shell and Registry objects Set objFSO=CreateObject("Scripting.FileSystemObject") Set objShell=WScript.CreateObject("WScript.Shell") strComputer = "." Set objRegistry = GetObject("winmgmts:\\" & strComputer & "\root\default:StdRegProv")  'Set all variables ready for use  strProcmon20KeyPath = "SYSTEM\CurrentControlSet\Services\PROCMON20\" strInstancesKeyPath = "SYSTEM\CurrentControlSet\Services\PROCMON20\Instances\" strPMIKeyPath = "SYSTEM\CurrentControlSet\Services\PROCMON20\Instances\Process Monitor Instance\"  strStartValueName = "Start" strGroupValueName = "Group" strTypeValueName = "Type" strImagePathValueName = "ImagePath" strDefInstanceValueName = "DefaultInstance" strAltitudeValueName = "Altitude" strFlagsValueName = "Flags"  'Check for the Process Monitor Executable, copy it in if not already on the system. If not objFSO.FileExists("C:\Windows\System32\procmon.exe") Then objFSO.CopyFile "\\server\procmon\procmon.exe", "C:\Windows\System32\", true End If  'Now import the registry settings, one at a time objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strStartValueName, "0", "REG_DWORD" objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strGroupValueName, "FSFilter Activity Monitor", "REG_SZ" objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strTypeValueName, "1", "REG_DWORD" objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strProcmon20KeyPath & strImagePathValueName, "System32\Drivers\PROCMON20.SYS", "REG_EXPAND_SZ"  objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strInstancesKeyPath & strDefInstanceValueName, "Process Monitor Instance", "REG_SZ"  objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strPMIKeyPath & strAltitudeValueName, "385200", "REG_SZ" objShell.RegWrite "HKEY_LOCAL_MACHINE\" & strPMIKeyPath & strFlagsValueName, "0", "REG_DWORD"  'Now copy over the PROCMON20.SYS file to the C:\Windows\System32\Drivers folder  If not objFSO.FileExists("C:\Windows\System32\Drivers\PROCMON20.SYS") Then objFSO.CopyFile "\\server\procmon\PROCMON20.SYS", "C:\Windows\System32\Drivers\", true End If  'End of Script