como habilitar o log de inicialização do procmon para cada inicialização?

2

Eu sei que o monitor de processo tem a função "enable boot logging".

mas isso só entra em vigor na próxima inicialização.

Existe uma maneira de ativar o registro de inicialização para cada inicialização no futuro?

    
por David Dai 08.11.2012 / 09:03

2 respostas

2

Não estou ciente de 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 configuração do driver Procmon . Talvez a (re) criação desses 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, eu primeiro tentaria o monitoramento "regular" (sem o registro de inicialização). Inicie o Process Monitor uma vez e configure-o para monitorar somente o acesso ao arquivo hosts ( Filter → Filter ... ). 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 de 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 formato da sua data não for MM/DD/YYYY , você terá que modificar essa expressão de acordo.

Os scripts de inicialização podem ser configurados de várias maneiras ( Run keys no registro, tarefas agendadas, políticas de grupo, ...). Veja as respostas a esta pergunta no StackOverflow para obter uma visão geral.

    
por 08.11.2012 / 12:10
1

Adam Collett / adjman666 escreveu um vbscript para fazer isso e o postou nos fóruns da sysinternals. . Para que isso funcione, \ server \ procmon share precisará ter permissões de compartilhamento e arquivo configuradas para que "Domain Computers" possam ler a partir desse local, caso contrário, o script apresentará um erro com uma mensagem "Access Denied".

'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
    
por 24.12.2014 / 16:34