Hemos enumerado algunas formas de averiguar cuánto tiempo ha estado funcionando su computadora. Pero, ¿cómo podemos encontrar la misma información en una computadora remota? Podría ser útil saber cuánto tiempo ha estado funcionando la computadora remota antes de informar al usuario remoto y preguntarle cortésmente que es hora de reiniciar su computadora.
Aquí hay algunas formas de averiguarlo.
Línea de comando
Información del sistema es una línea de comandos de Windows incorporada que muestra información básica no solo sobre su computadora local, sino también sobre cualquier computadora remota en la misma red. Simplemente use el /s cambie el comando seguido del nombre de la computadora remota, como se muestra a continuación.
SystemInfo /s Remote_Computer | find "Boot Time:"
Es fácil y bastante sencillo, pero el inconveniente es que solo muestra el “Tiempo de arranque del sistema“, Que indica cuándo se inició la computadora por última vez, en lugar del“ Tiempo de funcionamiento del sistema ”, que indica cuánto tiempo ha estado funcionando la computadora. Es más como una respuesta indirecta a la pregunta, pero a partir de ahí puede hacerse una idea aproximada.
Sysinternals
La popular Suite Sysinternals tiene un comando llamado PSInfo que puede extraer la misma información y muestra directamente la información de tiempo de actividad con tiempo de actividad cambiar.
PSInfo Uptime \Remote_Computer
El inconveniente de utilizar las herramientas de Sysinternals es que necesitará Registro remoto servicio en funcionamiento. O recibirá el mensaje de error que se muestra a continuación.
Potencia Shell
Probablemente, la forma más eficaz sea utilizar los cmdlets de PowerShell. Utilizar el Win32_OperatingSystem Clase WMI con el -Nombre del computador cambiar para tirar del LastBootupTime propiedad de una computadora remota y luego restar del valor de la fecha / hora actual que proviene de Obtener la fecha.
(Get-Date) - (Get-CimInstance Win32_OperatingSystem -ComputerName Remote_Computer).LastBootupTime
Y, por supuesto, deberá reemplazar Remote_Computer con el nombre real de su computadora remota en los ejemplos anteriores.
Si solo conoce la IP de la computadora remota, deberá usar Get-WimObject cmdlet en su lugar. También deberá utilizar ManagementDateTimeConverter de .Net para convertir el formato de marca de tiempo.
(Get-Date) - [Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem -ComputerName $computer).LastBootUpTime)