' este script accede a los procesos con los privilegios de Local System '-------------- CAMBIAR SI SE DESEA --------------- 'SI EL PATH ES RELATIVO EL LOG PUEDE IR A PARAR A CUALQUIER LADO pathLog=Left(Wscript.ScriptFullName,InStrRev(Wscript.ScriptFullName,"\")) _ & "procesos-system.txt" '------------CAMBIAR SI NECESARIO----------------------' 'solo necesario si psexec el path del sistema. Si se setea el path es NECESARIO poner el "\" final 'ejemplo: 'pathPsexec="C:\Archivos de programa\Sysinternals\PsTools\" pathPsexec="" ' ESTE SCRIPT SE EJECUTA COMO LOCAL SYSTEM. DEPENDE EN ' QUE PSEXEC ESTE INSTALADO EN EL SISTEMA Y DENTRO DEL PATH DE EJECUTABLES ' debe verificar la cantidades de argumentos; si ejecutado con 0 se ejecuta a si mismo con psexec y un argumento "System" ' si recibe un argumento asume que ya esta corriendo como sistema psexec=chr(34) & pathPsexec & "psexec" & chr(34) If WScript.Arguments.Count = 0 Then Set Sgh=WScript.CreateObject("WScript.Shell") Sgh.run(psexec & " -i -s -d wscript.exe " & chr(34) _ & WScript.ScriptFullName & chr(34) & " System") WScript.Quit(0) End If Dim objFileSystem, objOutputFile set objWMIService = getobject("winmgmts:" & "{impersonationLevel=impersonate}!\\" _ & "." & "\root\cimv2") 'set objWMIService = getobject("winmgmts:") Set objFileSystem = CreateObject("Scripting.fileSystemObject") Set objOutputFile = objFileSystem.openTextFile(pathLog,8, TRUE) objOutputFile.WriteLine(vbCrLf & vbCrLf & _ "------------ Procesos (como usuraio normal) " & Now & " --------------------" & vbCrLf & _ "Creacion(y/m/d h:m:s) PID PPID Nombre Linea de comando Path al ejecutable ") Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process") Dim procIni procIni = "" for each Process in colProcesses procIni = procIni & _ formatDateTime(Process.CreationDate)&" "& Process.ProcessId & _ vbTab & Process.ParentProcessId & vbTab & _ Process.Name & vbTab & Process.CommandLine & vbTab & _ Process.ExecutablePath & vbCrLf Next objOutputFile.WriteLine( procIni ) MsgBox("Procesos logeados a " & pathLog) function formatDateTime(s) 'yyyy/mm/dd hh:mm:ss o " no se aplica " if trim(s)="" or IsNull(s) then formatDateTime=" No se aplica " else s=trim(s) formatDateTime=Left(s,4)&"/"& Mid(s,5,2)&"/"&Mid(s,7,2)&" "& _ Mid(s,9,2)&":"&Mid(s,11,2)&":"&Mid(s,13,2) end if end function