Tareas programadas en Powershell

      1 Comment on Tareas programadas en Powershell

Construyamos un pequeño sistema de monitoreo que nos permita diagnosticar un problema de performance. Para esto, usaremos Scheduled Jobs para programar la ejecución de nuestra función Get-Processperf http://www.winteltips.com/2016/07/06/midiendo-performance-con-powershell/

La idea es armar un pequeño script que llame a la función y que genere un output. También deberemos definir cada cuanto y hasta cuando correremos el script. Manos a la obra

Scheduled1

Scheduled2

Fíjense que al gatillo le puse una fecha y hora especifica para que arranque. Tengan cuidado con el formato de fecha que acepta su equipo. En mi caso es “dd/mm/aaaa hh:mm:ss”

Veamos como es el script que correremos cada 10 minutos por 2 días:

script

Muy simple. Cargamos la función que esta dentro de performance.ps1, la ejecutamos eligiendo que nos traiga información de uso de CPU en un Top 10 de procesos. Todo esto lo enviamos a un archivo de texto en donde la información se va adjuntando cada vez que ejecute. De paso le definimos un buen ancho para que no tengamos problemas con la salida.

Verifiquemos el archivo de texto que contiene nuestro reporte

output

Excelente, pudimos crearnos un pequeño sistema de monitoreo que nos ayudara a saber que proceso era el culpable de la mala performance del equipo. Recuerden que nuestra función puede también monitorear Memoria virtual y RAM y en varios equipos a la vez. Solo tienen que cambiar los argumentos de Get-Processperf y los intervalos del gatillo para ajustar a sus necesidades.

Espero que les sirva tanto como a mi. Este método me ha ahorrado tediosas horas de vigilancia y de esperar que un equipo con problemas me deje trabajar algunos minutos antes de colgarse definitivamente.  Ahora solamente me fijo en el historial de procesos que se va armando de a poco.

Saludos, Mauro.

Leave a Reply

1 Comment on "Tareas programadas en Powershell"

Notify of
avatar
Sort by:   newest | oldest | most voted
Carlos
Guest

Excelente laburo. sumamamente util. como comento Mauro en un mail, a la función Get-ProcessPerf se le puede agregar -commandline y agrega la ruta completa de cada proceso

wpDiscuz