Búsqueda de sitios web

Seguimiento del uso de la impresora con registros del Visor de eventos de Windows


En Windows, puede realizar un seguimiento del uso de la impresora con el Visor de eventos. Todos los trabajos de impresión enviados a la cola de impresión se registran en el Visor de eventos. Si tiene un servidor de impresión implementado en Windows, puede utilizar estos registros para organizar una solución de auditoría de impresión simple que le permita comprender quién imprimió en sus impresoras, cuándo y cuántas páginas.

En este artículo, mostraremos cómo habilitar y configurar el registro de eventos de impresión en Windows, ver el historial de impresión en el Visor de eventos y buscar o filtrar eventos de impresión con PowerShell.

Cómo habilitar el registro de impresión en Windows

Windows tiene un registro separado del Visor de eventos donde se registran todos los eventos de impresión:

SystemRoot%\System32\Winevt\Logs\Microsoft-Windows-PrintService%4Operational.evt

. Sin embargo, este registro está deshabilitado de forma predeterminada. Para habilitar el registro de impresión en Windows:

  1. Abra el Visor de eventos (

    eventvwr.msc

    );

  2. Vaya a Registros de aplicaciones y servicios -> Microsoft -> Windows -> PrintService.

  3. Haga clic derecho en Operacional y seleccione Habilitar registro;

  4. Aumente el tamaño de este registro de eventos desde el valor predeterminado de 1 MB si desea conservar los registros de impresión durante mucho tiempo. Abra las propiedades del registro operativo y establezca el tamaño máximo de registro;

También puede habilitar (deshabilitar) un registro de eventos específico con el comando:

wevtutil.exe sl Microsoft-Windows-PrintService/Operational /enabled:true

Debe habilitar una configuración de GPO especial si desea que el registro de eventos muestre el nombre del archivo enviado para imprimir.

  1. Abra el Editor de políticas de grupo local (

    gpedit.msc

    );

  2. Vaya a Configuración de la computadora -> Plantillas administrativas -> Impresoras.

  3. Habilite la opción Permitir el nombre del trabajo en los registros de eventos;

  4. Actualizar la configuración de políticas usando

    gpupdate /force

    dominio.

Ahora todos los eventos de impresión se registrarán en el Visor de eventos.

Comprobación del historial de impresión en Windows mediante el Visor de eventos

Ahora puede ver información detallada sobre todos los eventos de impresión que han ocurrido en esta computadora.

Abra el Visor de eventos y vaya a Registros de aplicaciones y servicios -> Microsoft -> Windows -> PrintService -> Operativo. Busque el evento con ID de evento 307:

Printing a document

Abra los detalles del evento:

Document 12, Microsoft Word - a-d.docx owned by maxadm on \\DESKTOP-PC617 was printed on HP LaserJet M1530 MFP Series PCL 6 through port USB001. Size in bytes: 31780. Pages printed: 1. No user action is required.

La descripción del evento contiene:

  • El nombre del archivo de impresión y la aplicación desde la que se imprimió:

    Microsoft Word — a-d.docx
  • El nombre del usuario que imprimió el archivo:

    maxadm
  • El nombre de la impresora:

    HP LaserJet M1530 MFP Series PCL 6
  • Número de páginas impresas:

    Pages printed: 1
  • El tamaño del archivo:

    size in bytes

Análisis de registros de impresión con PowerShell

El Visor de eventos no permite obtener estadísticas convenientes del historial de impresión o buscar por fecha/usuario/documento. Puede procesar y filtrar eventos de impresión mediante PowerShell.

Para obtener eventos del registro operativo/servicio de impresión, use el cmdlet Get-WinEvent de PowerShell. El siguiente script de PowerShell muestra una lista de todos los documentos que se han impreso en la computadora actual en las últimas 24 horas:

$all2dayprint=Get-WinEvent -FilterHashTable @{LogName="Microsoft-Windows-PrintService/Operational"; ID=307; StartTime=(Get-Date).AddDays(-1)} | Select-object -Property TimeCreated, @{label='UserName';expression={$_.properties[2].value}}, @{label='Document';expression={$_.properties[1].value}}, @{label='PrinterName';expression={$_.properties[4].value}}, @{label='PrintSizeKb';expression={$_.properties[6].value/1024}}, @{label='Pages';expression={$_.properties[7].value}}
$all2dayprint|ft

Si solo desea mostrar documentos que ha impreso un usuario en particular:


$PrintUsername='maxadm'
$all2dayprint| Where-Object -Property UserName -like $PrintUsername|ft

Puede exportar una lista de documentos impresos a un archivo CSV usando Export-CSV:

$all2dayprint | Export-Csv -Path "c:\ps\Print Audit.csv" -NoTypeInformation -Encoding UTF8

O verlo en forma gráfica Out-GridView:

$all2dayprint| Out-GridView -Title "All print jobs"

Puede programar este script de PowerShell para que se ejecute diariamente y escriba información de uso de la impresora en una base de datos externa.

Por ejemplo, puede escribir datos desde un script de PowerShell en una base de datos MySQL, MariaDB o Microsoft SQL Server.

Artículos relacionados