Printer Status / Queue Status

Este es un problema relativamente “joven”, hasta hace poco tiempo no tenia que preocuparme del estado de los servidores de impresión ni del estado de las “colas”, pero ahora tengo un servidor de impresión crítico para el negocio y he generado este script que me muestra el estado del servidor y los trabajos que están en curso. Tengo una tarea programada que lo ejecuta cada hora y envía el reporte por correo electrónico.

Iniciamos las variables que necesitamos en nuestro script.

image

Comprobamos y generamos el fichero del reporte, y limpiamos los antiguos. En esta versión del script y por necesidades del servicio, acumulamos estos reportes en la carpeta de Report.

image

Escribimos el encabezado del informe que vamos a generar.

image

image

Creamos la primera fila con los títulos de los campos

image

Ahora comenzamos a comprobar el estado de las “colas” de nuestro servidor de impresión.

image

Una vez que obtenemos los datos, comprobamos el estado de la “cola” y determinamos el color que debería de tener …

image

Escribimos la fila con la información obtenida

image

Colocamos el pie del informe o en su defecto la leyenda que queramos indicar en función a los colores …

image

Enviamos el correo electrónico con el contenido del informe (reporte)…

image

La estructura que nos queda al final es la siguiente:

image

2 comentarios el “Printer Status / Queue Status

  1. urpiano dice:

    Un consejo, si filtras en el propio Get-WmiObject será más eficiente; en lugar de:

    Get-WmiObject Win32_PerfFormattedData_Spooler_PrintQueue -ComputerName $PrintServer | Where-Object{$_.Name -ne ‘_Total’ -and $_.Name -eq $Printer.Name}

    Es mejor:

    Get-WmiObject Win32_PerfFormattedData_Spooler_PrintQueue -ComputerName $PrintServer -Filter “Name ‘_Total’ AND Name -eq $($Printer.Name)”

    Esto es debido a que la primera forma obtiene del equipo los datos de todas las impresoras y luego filtra por la que está en curso, mientras que la segunda sólo obtiene los datos de la impresora en curso, traes menos datos y te evitas el filtrarlos, con lo que el script tiene mejor rendimiento.

    • urpiano dice:

      Leñe con el WordPress y la textuaización; a ver si ahora puedo:

      Get-WmiObject Win32_PerfFormattedData_Spooler_PrintQueue -ComputerName $PrintServer -Filter “Name <> ‘_Total’ AND Name = $($Printer.Name)”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s