Windows: Ver uptime

En sistemas Windows, para saber el tiempo que el sistema está online, no disponemos del comando uptime como en sistemas Linux, pero disponemos de varias alternativas:

1) Administrador de tareas (taskmgr.exe):




Con el nuevo administrador de tareas introducido en Windows 8 y Windows Server 2012, encontraremos el apartado "Tiempo activo" en la vista CPU.

En el administrador de tareas incluido en sistemas operativos anteriores, veremos en la pestaña "Rendimiento", el apartado "Tiempo de uso".

El formato es el siguiente:

Días:horas:minutos:segundos.

Según los ejemplos mostrados en la captura anterior, vemos como un equipo tiene un uptime de 352 días, mientras que el segundo, tiene un update de 2 días.

2) systeminfo


systeminfo es una herramienta de linea de comandos que nos permite obtener información acerca del sistema.

Podemos obtener el uptime del equipo de la siguiente forma:

Muestra la fecha y hora actuales:

C:\>date /t && time /t
09/09/2015
17:01

Muestra la fecha y hora de arranque del sistema: 

C:\>systeminfo | find  "Tiempo"
Tiempo de arranque del sistema:            07/09/2015, 12:45:14

3) Consulta WMI desde PowerShell:

A partir de PowerShell 3.0 (incluida en Windows Server 2012 y Windows 8):

PS C:\Users\Administrador> Get-CimInstance -ClassName win32_operatingsystem | select csname, lastbootuptime|fl

csname         : VCENTER
lastbootuptime : 09/09/2015 11:30:23

4) Consulta WMI desde CMD:


Con el comando wmic, podemos realizar consultas WMI sobre un equipo.

Ejecutando wmic os get lastBootUpTime, nos devolverá la fecha y hora del último inicio del sistema operativo:



20150907: Corresponde a : 07/09/2015 (fecha al revés).
124514: Corresponde a: 12:45:14 (hora).

5) Búsqueda en el visor de eventos.

Podemos buscar vía CMD:

wevtutil.exe qe System /q:*[System[(EventID=6005)]] /f:text



6) Revisando el uptime de la NIC:

Propiedades sobre la NIC del equipo:



7) Revisando estadísticas del servicio SMB cliente:

net statistics workstation




6 comentarios:

  1. Hola, post bastante bueno, no sabia como consultar esa info por cmd. gracias.

    ResponderEliminar
    Respuestas
    1. ¡Gracias a ti! Me alegro que te haya resultado útil.

      Xavi.

      Eliminar
  2. hola, ya sé que dirás que hagas las cuentas, pero sería más útil si se pudiera saber el numero de días? es para que aparecza al hacer el chequeo.

    ResponderEliminar
    Respuestas
    1. Hola,

      Puedes convertir el valor de Uptime a días utilizando PowerShell:

      (get-date) - (gcim Win32_OperatingSystem).LastBootUpTime

      Un saludo,

      Xavi.

      Eliminar
  3. Buenas, yo uso el maravilloso netscan de softperfect, para inventariar y ver un poco ciertas cosas.
    Una de las cosas que me interesa es el tiempo de encendido.
    Y se da el caso, que el uptime, lo ve el programa con systeminfo | info "tiempo" por que me pone 12 dias, y luego al entrar el equipo y ver por que no se apaga con el bat que lanzo desde un server, veo que en la tarjeta de red, me da un tiempo correcto, 4 horas encendido con lo cual en teoria, si que se apago, y se envcendio a las 8.
    Habra consulta WMI, de ese dato de tarjeta red, que nos enseñas de manera visual?
    Me tocara estos equipos problematicos, conectarme a las 11, y ver si puedo acceder por remoto y ping, y sino le calzo la tarea en local.

    ResponderEliminar
    Respuestas
    1. Sí, no hay problema.

      Se puede consultar el uptime utilizando una consulta WMI.

      De hecho en este mismo post, el método número 3 tienes como lanzar la consulta WMI con PowerShell y en el método número 4 tienes como lanzar la consulta WMI con cmd.

      Un saludo,

      Xavi.

      Eliminar