Macro que me muestre hora y fecha de encendido de mi pc

Existe alguna macro o código que me muestre hora y fecha de encendido de mi pc

Y si de pronto me mostrara que movimientos se hicieron o que copiaron de mi pc

2 Respuestas

Respuesta
1

La información que buscas esta en el Registro de Eventos de Windows. Para acceder a ese registro con VBA se utiliza la librería WMI. Ahora bien, estuve haciendo unas pruebas y me saca las fechas en que se inicio sesión, pero estuve revisando y la mayoría coinciden pero hay algunas que no, y para entender porque tengo que dedicarle más tiempo del que tengo, de todas formas puedes probarlo. Yo uso Windows en ingles, no se si eso afecte el código si lo tienes en español ya que no se si la categoría que buscas cambia el nombre a español.

La macro que me saca las fechas en que se inicio sesión en windows

Sub FindLogons()
Application.ScreenUpdating = False
Dim uF As Long
Dim objObject As WbemScripting.SWbemObject
Dim setObjectSet As WbemScripting.SWbemObjectSet
Dim strServer As String
Dim strWQL As String
Dim svcServices As WbemScripting.SWbemServices
Dim varInsertionString As Variant
strServer = "."
Set svcServices = GetObject("winmgmts:\\" & strServer & "\root\cimv2")
strWQL = "SELECT * " & _
         "FROM Win32_NTLogEvent " & _
         "WHERE Logfile = ""System"""
Set setObjectSet = svcServices.ExecQuery(strWQL)
For Each objObject In setObjectSet
uF = Range("A" & Rows.Count).End(xlUp).Row + 1
If objObject.SourceName = "Microsoft-Windows-Winlogon" Then
    Range("A" & uF).Value = "Generado:"
    Range("B" & uF).Value = Left(objObject.TimeGenerated, 8)
End If
    Set objObject = Nothing
Next
Application.ScreenUpdating = True
End Sub

Como te dije antes, no se si esto afecte en la linea:

If objObject.SourceName = "Microsoft-Windows-Winlogon" Then

En mi sistema operativo en ingles así es como se llama la categoría, no se si en Español haya que cambiarlo.

PD importante: Obviamente tienes que activar la librería en las referencias, se llama Microsoft WMI Scripting V1.2 Library.

Es un poco lento, eso si.

Acá un vídeo demo que grabe: video demo

Como veras en el video, algunas fechas no coinciden pero la mayoría si.

Respuesta
1

Siento comunicarte que desde Excel no podrás tener este control

Salu2

alguna otra idea

No sé si sabes de archivos batch (del viejo sistema operativo DOS), lo que se me ocurre es que crees un archivo que pongas en la carpeta inicio (para que se ejecute al iniciar WIN) que lo que haga es tomar la fecha del sistema y grabarla en algún archivo "log" que crees al respecto.

Esto para el hecho de tener la fecha/hora de encendido del equipo, para la segunda parte de la pregunta, creo que deberás recurrir a algún programa especializado que haga el seguimiento de los comandos de tu pc (pero no conozco ninguno para recomendarte)

Te amplío un poco lo que te decía antes respecto al archivo bat

Paso 1) Creas un archivo con extensión BAT (por ejemplo PRUEBA.BAT)

Paso 2) A ese archivo le colocas la instrucción

echo %date% %time% >> Salida.log

Paso 3) Colocas el archivo creado en el paso 1) en el menú Inicio

Listo! Eso hará que en el archivo Salida.log (que se creará en la misma carpeta que el archivo PRUEBA.BAT) cada vez que arranque windows te genere una línea con la fecha y la hora

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas