
Eu sei que o monitor de processo tem a função "habilitar registro de inicialização".
mas isso só entra em vigor na próxima inicialização.
existe uma maneira de ativar o log de inicialização para cada inicialização no futuro?
Responder1
Não conheço uma maneira regular de ativar permanentemente o log de inicialização, mas parece que o log de inicialização é controlado por dois valores de registro na Procmon
configuração do driver. Talvez (re)criar esses valores (por exemplo, com um script de inicialização) faça o que você deseja:
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
No entanto, antes de tentar algo assim, primeiro tentaria o monitoramento "regular" (sem registro de inicialização). Inicie o Process Monitor uma vez e configure-o para monitorar apenas o acesso ao hosts
arquivo (Filtrar → Filtrar...). Exporte essa configuração para o arquivo C:\hosts.pmc
(Arquivo → Exportar configuração...). Em seguida, execute algo assim em um script de inicialização:
procmon /LoadConfig C:\hosts.pmc /BackingFile C:\hosts_%DATE:/=-%.pml /Quiet > C:\hosts.log 2>&1
Isso iniciará o Process Monitor com a configuração exportada ( /LoadConfig C:\hosts.pmc
), iniciará o monitoramento sem solicitar a confirmação das configurações do filtro ( /Quiet
) e registrará os eventos registrados em um arquivo de log com a data atual ( /BackingFile C:\hosts_%DATE:/=-%.pml
). A expressão %DATE:/=-%
produz a data atual com barras /
substituídas por hífens -
. Se o seu formato de data não for, MM/DD/YYYY
você terá que modificar esta expressão de acordo.
Os scripts de inicialização podem ser configurados de várias maneiras ( Run
chaves no registro, tarefas agendadas, políticas de grupo, ...). Veja as respostas paraessa questãono StackOverflow para uma visão geral.
Responder2
Adam Collett/adjman666 escreveu um vbscript para fazer isso e postou-o nos fóruns da sysinternals.. Para que isso funcione, o compartilhamento \server\procmon precisará ter permissões de compartilhamento e de arquivo definidas para que "Computadores de domínio" possam ler a partir desse local, caso contrário, o script apresentará um erro com uma mensagem "Acesso negado".
'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