' este script accede a los procesos con los privilegios del usuario ejecutandolo, posiblemente ' un Administrator. Corre "impersonate". No es necesario setear el path del archivo a donde logear. '-------------- CAMBIAR SI SE DESEA --------------- pathLog="procesos-user.txt" 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