Cómo verificar el tiempo de actividad de su servidor Windows usando PowerShell

Una imagen de texto que muestra la palabra Uptime

El tiempo de actividad es una métrica clave para el éxito de la administración del servidor.

Cuando hablas de hardware, estás hablando de computadoras, teclados, interruptores, cables y la lista continúa. ¡Solo que el componente más importante para la conectividad es un servidor!

Los servidores, centralizados o externos, sirven como intermediarios para la transmisión de información y, por lo tanto, forman un punto critico de operaciones Debido a esto, el equipo de infraestructura de una empresa a menudo tiene tareas diarias o semanales para monitorear continuamente el rendimiento del servidor utilizando muchas métricas.

Una métrica clave es tiempo de actividad, que indica el tiempo que un sistema se ejecutó sin reiniciar o apagar. No desea que el sistema lo defraude en medio de una crisis de números difíciles. Un equipo de infraestructura de TI puede determinarlos rápidamente salud y Bienestar de su sistema y aplicaciones y corrige el tiempo de inactividad inesperado.

El tiempo es dinero. Cuanto más rápido sea el diagnóstico, más rápido podrá solucionar los problemas y asegurarse de que su negocio funcione de manera eficiente.

Eso es lo que logra la utilidad PowerShell de Microsoft, y así es como se hace. Primero, examinemos por qué el tiempo de actividad es una métrica tan importante.

¿Por qué debería preocuparse por el tiempo de actividad?

Eso es porque lo contrario falta del tiempo, es destructivo–¡tanto en términos de costo como de reputación! Las altas tasas de disponibilidad aumentan la de un sistema fiabilidad y disponibilidad y ayudar a proporcionar un servicio ininterrumpido a sus clientes.

Determinar los motivos del tiempo de inactividad también puede ayudar en la toma de decisiones, la elaboración de presupuestos y la planificación de la capacidad.

Toma una decision: Como administrador de servidores, sabe qué sistemas necesitan una actualización para que su empresa funcione sin problemas. Puede recomendar los próximos pasos a sus superiores en consecuencia.

Presupuesto y planificación de la capacidad: Según el tiempo de actividad, usted y su equipo pueden decidir si se necesitan más recursos para satisfacer las crecientes demandas de la organización o si es necesario reemplazar las máquinas. Decidir en consecuencia sobre los presupuestos y la planificación de la capacidad.

Dado que el tiempo de actividad afecta todo su modelo comercial, profundicemos en la utilidad PowerShell de Microsoft y todos los beneficios interesantes que ofrece.

¿Qué es Microsoft PowerShell?

Antes de PowerShell, Microsoft solo tenía uno interfaz de línea de comandos (CLI) Podías interactuar con el sistema operativo Windows, y eso era CMD. Cuando Microsoft presentó PowerShell, se convirtió en un punto de inflexión para Automatización de tareas repetitivas y mejorar la gestión de tareas administrativas. Fácil de codificar e implementar, PowerShell ofrece una gran oportunidad interactuar con el sistema operativo Windows.

¡Ahora veamos lo fácil que es usar PowerShell para verificar el tiempo de actividad de un sistema!

4 formas de calcular la disponibilidad del servidor con PowerShell

Lo primero es lo primero: debe comprender qué Instrumentación de Administración Windows (WMI) y Modelo de información común (CIM) son.

WMI consta de muchas extensiones que le brindan información sobre el sistema operativo. CIM proporciona una definición general de información de administración, incluidas las propiedades y aplicaciones de un dispositivo dentro de un sistema. Es como una herramienta organizativa que le permite a TI saber todo sobre la infraestructura y encontrarla fácilmente.

¿Cómo se relacionan estos dos? WMI es la implementación de CIM de Microsoft en la plataforma Windows. En otras palabras, Accede a la información de CIM, como el tiempo de actividad a través de WMI.

Ahora que hemos terminado con las definiciones, veamos las 4 formas en que puede obtener el tiempo de actividad de su servidor usando Microsoft PowerShell.

1. Instrumental de administración de consultas de Windows (WMI)

Una forma de determinar el tiempo de actividad de un servidor de Windows es consultar el WMI.

La extensión WMI para calcular el tiempo de actividad es una clase llamada Wi32_sistema operativo, y viene con muchas características. el LastBootUpTime La propiedad le dice cuándo se reinició la computadora por última vez. También necesitará los detalles de CIM para esto y puede comenzar.

Consulta PowerShell con lo siguiente:

Get-CimInstance -ClassName Win32_OperatingSystem | Seleccione LastBootUpTime

La salida siempre está en formato de fecha y hora, que puede usar para calcular el tiempo de actividad.

    Una consulta de Get-CimInstance -ClassName Win32_OperatingSystem | Seleccionar LastBootUpTime muestra la hora del último arranque a las 7:19:28 a. m. del 12 de enero de 2022.

¡Levántate y brilla! Supongo que el mesero necesitaba un poco de café.

2. Registro de eventos de Windows

Una segunda opción que podría usar es el registro de eventos de Windows. Puede acceder a él en PowerShell Obtener registro de eventos o Get-WinEvent Mando. Para obtener más información, consulte nuestra lista de todos los comandos básicos de PowerShell. Estos comandos recopilan información de registros de eventos y archivos de registro de seguimiento de eventos ubicados en equipos locales y remotos. en vez de pasar archivo de registro completo, puede seleccionar las métricas que desea ver que tienen ID individuales.

Por ejemplo, digamos que el evento es 1002 o 1003 para la hora del último reinicio. Ambos ID le permiten conocer el último reinicio del sistema. A partir de esto se puede calcular el tiempo de funcionamiento.

El código de PowerShell para obtener la última hora de reinicio es:

Get-WinEvent -ProviderName Registro de eventos | Objeto-Dónde {$_.Id -eq 1002 -o $_.Id -eq 1003} | Select-Object -First 1 TimeCreated

Aquí le pide a PowerShell que obtenga los detalles del ID de evento 1002 o 1003 del registro de eventos. La salida es la última hora de reinicio.

La consulta Get-WinEvent -ProviderName EventLog | Objeto-Dónde {$.Id -eq 1002 -o $.Id -eq 1003} | Select-Object -First 1 TimeCreated devuelve 7:20:14 el 12 de enero de 2022.

¡No recibí una invitación para este evento! ¡Siéntete excluido!

Antes de pasar a la siguiente opción, echemos un vistazo rápido a algunos parámetros importantes que puede usar con Get-WinEvent cmdlets:

nombre del ordenador - define el nombre de la computadora desde la cual este cmdlet obtiene los registros del sistema cartas credenciales - Especifica una cuenta de usuario con permisos para esta acción FilterHashtable - Acepta una consulta en forma Hashtable Filtro XML - especifica una consulta XML estructurada violencia - Obtenga un registro de depuración si el nombre de la computadora contiene caracteres comodín registro de lista - especifica los registros de eventos nombre de registro - Especifica el nombre de registro específico

Puede usar estos parámetros para obtener el tiempo de actividad de uno o más servidores de Windows.

3. Usando Get-Uptime

Si las opciones anteriores parecen tediosas, aquí hay una fácil. solo usa el Obtener tiempo de actividad cmdlet para obtener el tiempo transcurrido desde el último reinicio. La ventaja obvia de este cmdlet es que no tiene que calcular nada, ya que proporciona directamente el tiempo de actividad de su servidor como resultado.

Tenga en cuenta que este cmdlet se introdujo en PowerShell 6.0. Entonces, si tiene una versión anterior, no funcionará para usted.

Este cmdlet acepta dos parámetros, a saber:

Obtener tiempo de actividad

[-Since]

[[[[]

el [-Since] cmdlet devuelve un objeto DateTime para indicarle la fecha y la hora en que se reinició el servidor por última vez. Si usa el cmdlet sin parámetros, solo devuelve el tiempo de actividad.

Aquí hay una infografía para mostrarle la diferencia en los resultados de salida.

ejemplos

Get-Uptime -Desde

Edición - martes, 4 de enero de 2021 13:13:49

Como puede ver, este cmdlet muestra cuándo se reinició el sistema por última vez. Bueno, si solo quiere tiempo de actividad, aquí está el código.

Obtener tiempo de actividad

La salida será:

Días : 10

Horas : 4

Minutos : 56

Segundos: 32

Milisegundos : 0

Garrapatas : 8892960000000

Días totales: 10.03677083333333

Horas Totales: 83.2736

Minutos Totales : 23070.96

Segundos totales: 997364

Total de milisegundos: 889296000

Esta información es el tiempo transcurrido desde el último reinicio; mucho más fácil que calcularlo, ¡verdad! Puede analizar esta salida en su código o realizar otras acciones basadas en ella.

4. Guiones personalizados

Si bien los cmdlets anteriores son características integradas de PowerShell, también puede crear su propio script o usar scripts personalizados desarrollados por miembros y grupos de la comunidad de PowerShell. se da un ejemplo Obtener -ServerUptimeReport.

Como sugiere el nombre, este script toma el nombre de una computadora como parámetro y analiza el registro de eventos del sistema de la computadora para encontrar la hora del último arranque. Luego calcula el tiempo total que el servidor estuvo activo. Este cmdlet también brinda una vista histórica de las horas de inicio y finalización de la computadora.

Puede usar este cmdlet de la siguiente manera:

./Get-ServerUptimeReport.ps1 -computername comp1

La salida será:

02/01/2021 15:15:19 20.31 9286.98

La ventaja de estos scripts es que puede obtener el tiempo de actividad de muchos servidores de Windows con el mismo comando porque este script necesita uno. hilera. Por ejemplo, puede tener una matriz de nombres de computadora y pasar esa matriz como entrada. Solo asegúrese de ingresar el nombre de la computadora junto con el tiempo de actividad para mayor claridad.

También puede adaptar este script a sus necesidades específicas. Alternativamente, ¡puedes crear uno desde cero!

las ultimas palabras

El tiempo de actividad mide el de un sistema fiabilidad y disponibilidad, que es fundamental para mantener la eficiencia. Microsoft PowerShell lo ayuda a averiguar el tiempo de actividad de un servidor de Windows y puede lograrlo de 4 maneras diferentes.

Tiene la opción de consultar el WMI utilizando la información de CIM. Alternativamente, puede usar los cmdlets de PowerShell incorporados, por ejemplo Get-WinEvent o Obtener tiempo de actividad, o cree su script personalizado para recuperar la información. También puedes usar Scripts de PowerShell creados por la comunidad para entradas y salidas definidas por el usuario.

¡Todo depende de lo que quieras! Independientemente de la opción que elija, PowerShell proporciona resultados rápidos para sus sistemas Métricas de disponibilidad.

preguntas frecuentes

¿Qué es mejor, Get-WinEvent o Get-EventLog?

Puede usar Get-WinEvent y Get-EventLog para acceder a los registros de eventos de Windows. Sin embargo, son similares en muchos aspectos. Get-WinEvent es más avanzado como obtener registro de eventos. La principal diferencia es que Get-WinEvent funciona bien con las versiones más recientes de la tecnología de protocolo de Microsoft. Este comando también puede acceder a más datos que Get-EventLog.

¿Qué es CIM y WMI?

El Modelo de información común (CIM) es un estándar de código abierto para recopilar y mostrar información sobre una computadora. La interfaz de administración de Windows (WMI) es la implementación de CIM de Microsoft para el sistema operativo Windows.

¿Cuál es la diferencia entre tiempo de actividad y disponibilidad?

El tiempo de actividad es el tiempo transcurrido desde el último reinicio y mide la confiabilidad de un sistema. La disponibilidad es la probabilidad de que un sistema esté operativo durante un período de tiempo específico. En pocas palabras, el tiempo de actividad son datos reales, mientras que la disponibilidad es una expectativa.

¿Qué son los scripts personalizados en PowerShell?

Los scripts personalizados son el código que escribe en PowerShell para obtener resultados específicos. Puede usar los comandos existentes en PowerShell para crear un script que realice la acción deseada.

recursos

Blog de la barra de progreso de PowerShell de TechGenix

Para iniciar su kungfu de PowerShell, consulte este divertido blog sobre cómo agregar barras de progreso.

PowerShell Battery Check Blog de TechGenix

Si cree que su computadora portátil miente acerca de su batería, o simplemente tiene curiosidad por encontrar una forma rápida de verificarla, eche un vistazo a este blog PowerShell Battery Check.

Tutorial de TechGenix sobre la programación de scripts de PowerShell

Ponga en marcha sus scripts con nuestro tutorial de programación de scripts de PowerShell.

Documentación de Microsoft Powershell

Para obtener más información sobre los comandos de script de PowerShell Get-WinEvent y Get-CimInstance, consulte la documentación de referencia de Microsoft.

Preparación de la máquina virtual Hyper-V para Windows 11

¿Cómo puedes preparar tu computadora para Windows 11? Consulte nuestra guía de PowerShell para poner su máquina en funcionamiento rápidamente.

La publicación Cómo verificar el tiempo de actividad de su servidor Windows con PowerShell apareció primero en TechGenix.

Comentarios