GPO: Allow job name in event logs

Suivi de l’utilisation de l’imprimante avec les journaux de l’Observateur d’événements Windows

Sous Windows, vous pouvez suivre l’utilisation de l’imprimante avec l’Observateur d’événements. Tous les travaux d’impression envoyés au spouleur d’impression sont enregistrés dans l’Observateur d’événements. Si vous disposez d’un serveur d’impression déployé sous Windows, vous pouvez utiliser ces journaux pour organiser une solution simple d’audit d’impression qui vous permet de comprendre qui a imprimé sur vos imprimantes, quand et combien de pages.

Dans cet article, nous montrerons comment activer et configurer la journalisation des événements d’impression dans Windows, afficher l’historique d’impression dans l’Observateur d’événements et rechercher ou filtrer les événements d’impression avec PowerShell.

Comment activer la journalisation des impressions sous Windows

Windows dispose d’un journal d’Observateur d’événements distinct dans lequel tous les événements d’impression sont enregistrés :

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

Cependant, ce journal est désactivé par défaut. Pour activer la journalisation d’impression sous Windows :

  1. Ouvrez l’Observateur d’événements (eventvwr.msc);
  2. Accédez à Journaux d’applications et de services -> Microsoft -> Windows -> PrintService.
  3. Cliquez avec le bouton droit sur Opérationnel et sélectionnez Activer le journal; Activer la journalisation de l'impression dans l'Observateur d'événements
  4. Augmentez la taille de ce journal d’événements par rapport à la valeur par défaut de 1 Mo si vous souhaitez conserver les journaux d’impression pendant une longue période. Ouvrir Opérationnel propriétés du journal et définition de la taille maximale du journal ;
  5. Augmenter la taille du journal des événements d'impression

Vous pouvez également activer (désactiver) un journal d’événements spécifique avec la commande :

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

Analyse des journaux d’impression avec PowerShell

 

L’Observateur d’événements ne permet pas d’obtenir des statistiques pratiques sur l’historique d’impression ou une recherche par date/utilisateur/document. Vous pouvez traiter et filtrer les événements d’impression à l’aide de PowerShell.

Pour obtenir des événements du journal PrintService/Operational, utilisez l’applet de commande Get-WinEvent PowerShell. Le script PowerShell suivant affiche une liste de tous les documents imprimés sur l’ordinateur actuel au cours des dernières 24 heures :

 

$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

PowerShell : répertorier l'historique d'impression sous Windows

Si vous souhaitez afficher uniquement les documents imprimés par un utilisateur particulier :

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

Vous pouvez exporter une liste de documents imprimés dans un fichier CSV à l’aide de Export-CSV :

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

Ou affichez-le sous une forme graphique Out-GridView :

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

Afficher les statistiques d'impression Windows avec PowerShell

Afficher les statistiques d'impression Windows avec PowerShell

 

Vous pouvez planifier l’exécution quotidienne de ce script PowerShell et écrire les informations d’utilisation de l’imprimante dans une base de données externe.

Par exemple, vous pouvez écrire des données à partir d’un script PowerShell dans une base de données MySQL, MariaDB ou Microsoft SQL Server.