Παρακολούθηση χρήσης εκτυπωτή με αρχεία καταγραφής του προγράμματος προβολής συμβάντων των Windows

Στα Windows, μπορείτε να παρακολουθείτε τη χρήση του εκτυπωτή με το Event Viewer. Όλες οι εργασίες εκτύπωσης που αποστέλλονται στην ουρά εκτύπωσης καταγράφονται στο Event Viewer. Εάν διαθέτετε διακομιστή εκτύπωσης που έχει αναπτυχθεί στα Windows, μπορείτε να χρησιμοποιήσετε αυτά τα αρχεία καταγραφής για να οργανώσετε μια απλή λύση ελέγχου εκτύπωσης που σας επιτρέπει να κατανοήσετε ποιος έχει εκτυπώσει στους εκτυπωτές σας, πότε και πόσες σελίδες.

Σε αυτό το άρθρο, θα δείξουμε πώς μπορείτε να ενεργοποιήσετε και να διαμορφώσετε την καταγραφή συμβάντων εκτύπωσης στα Windows, να προβάλετε το ιστορικό εκτύπωσης στο πρόγραμμα προβολής συμβάντων και να αναζητήσετε ή να φιλτράρετε συμβάντα εκτύπωσης με το PowerShell.

Περιεχόμενα:

Τα Windows διαθέτουν ξεχωριστό αρχείο καταγραφής της Προβολής συμβάντων όπου καταγράφονται όλα τα συμβάντα εκτύπωσης:SystemRoot%System32WinevtLogsMicrosoft-Windows-PrintService%4Operational.evt. Ωστόσο, αυτό το αρχείο καταγραφής είναι απενεργοποιημένο από προεπιλογή. Για να ενεργοποιήσετε την καταγραφή εκτύπωσης στα Windows:

  1. Ανοίξτε το πρόγραμμα προβολής συμβάντων (eventvwr.msc);
  2. Μεταβείτε στα αρχεία καταγραφής εφαρμογών και υπηρεσιών -> Microsoft -> Windows -> PrintService.
  3. Κάντε δεξί κλικ στοΕπιχειρήσεωνκαι επιλέξτεΕνεργοποίηση αρχείου καταγραφής;
  4. Αυξήστε το μέγεθος αυτού του αρχείου καταγραφής συμβάντων από το προεπιλεγμένο 1MB, εάν θέλετε να διατηρήσετε αρχεία καταγραφής εκτυπώσεων για μεγάλο χρονικό διάστημα. ΑνοιχτόΕπιχειρήσεωνιδιότητες καταγραφής και ορίστε το μέγιστο μέγεθος αρχείου καταγραφής.

Μπορείτε επίσης να ενεργοποιήσετε (απενεργοποιήσετε) ένα συγκεκριμένο αρχείο καταγραφής συμβάντων με την εντολή:

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

Πρέπει να ενεργοποιήσετε μια ειδική ρύθμιση GPO εάν θέλετε το αρχείο καταγραφής συμβάντων να εμφανίζει το όνομα του αρχείου που στάλθηκε για εκτύπωση.

  1. Ανοίξτε τον Επεξεργαστή Πολιτικής Τοπικής Ομάδας (gpedit.msc);
  2. Μεταβείτε στο Computer Configuration -> Administrative Templates -> Printers.
  3. Ενεργοποιήστε την επιλογήΝα επιτρέπεται το όνομα εργασίας στα αρχεία καταγραφής συμβάντων;
  4. Ενημερώστε τις ρυθμίσεις πολιτικής χρησιμοποιώνταςgpupdate /forceεντολή.

Τώρα όλα τα συμβάντα εκτύπωσης θα καταγράφονται στο Event Viewer.

Έλεγχος του ιστορικού εκτύπωσης στα Windows με χρήση του προγράμματος προβολής συμβάντων

Τώρα μπορείτε να δείτε λεπτομερείς πληροφορίες σχετικά με όλα τα συμβάντα εκτύπωσης που έχουν συμβεί σε αυτόν τον υπολογιστή.

Ανοίξτε το πρόγραμμα προβολής συμβάντων και μεταβείτε στο Αρχείο καταγραφής εφαρμογών και υπηρεσιών -> Microsoft -> Windows -> PrintService -> Λειτουργικό. Βρείτε το συμβάν με Αναγνωριστικό συμβάντος307:Printing a document.

Ανοίξτε τις λεπτομέρειες της εκδήλωσης:

Document 12, Microsoft Word - woshub.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.

Η περιγραφή της εκδήλωσης περιέχει:

  • Το όνομα του αρχείου εκτύπωσης και η εφαρμογή από την οποία εκτυπώθηκε:Microsoft Word — woshub.docx
  • Το όνομα του χρήστη που εκτύπωσε το αρχείο:maxadm
  • Το όνομα του εκτυπωτή:HP LaserJet M1530 MFP Series PCL 6
  • Αριθμός εκτυπωμένων σελίδων:Pages printed: 1
  • Μέγεθος αρχείου:size in bytes

Εκτύπωση ανάλυσης αρχείων καταγραφής με PowerShell

Το πρόγραμμα προβολής συμβάντων δεν επιτρέπει τη λήψη βολικών στατιστικών στοιχείων του ιστορικού εκτύπωσης ή αναζήτησης κατά ημερομηνία/χρήστη/έγγραφο. Μπορείτε να επεξεργαστείτε και να φιλτράρετε συμβάντα εκτύπωσης χρησιμοποιώντας το PowerShell.

Για να λάβετε συμβάντα από το αρχείο καταγραφής PrintService/Operational, χρησιμοποιήστε το cmdlet Get-WinEvent PowerShell. Η ακόλουθη δέσμη ενεργειών PowerShell εμφανίζει μια λίστα με όλα τα έγγραφα που έχουν εκτυπωθεί στον τρέχοντα υπολογιστή τις τελευταίες 24 ώρες:

$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

Εάν θέλετε να εμφανίζονται μόνο έγγραφα που έχει εκτυπώσει ένας συγκεκριμένος χρήστης:

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

Μπορείτε να εξαγάγετε μια λίστα εκτυπωμένων εγγράφων σε ένα αρχείο CSV χρησιμοποιώντας το Export-CSV:

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

Ή δείτε το σε μια γραφική μορφή Out-GridView:

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

Μπορείτε να προγραμματίσετε αυτό το σενάριο PowerShell να εκτελείται καθημερινά και να γράψετε πληροφορίες χρήσης του εκτυπωτή σε μια εξωτερική βάση δεδομένων.

Μάθετε περισσότερα:Πώς να γράψετε αρχεία καταγραφής στο πρόγραμμα προβολής συμβάντων των Windows από το PowerShell/CMD

Για παράδειγμα, μπορείτε να γράψετε δεδομένα από το σενάριο PowerShell στη βάση δεδομένων MySQL, MariaDB ή Microsoft SQL Server.

Related Posts