В Windows вы можете отслеживать использование принтеров пользователями с помощью журнала событий Windows. Все задания печати, которые отправляются на печать через Print Spooler оставляют след в логах Event Viewer. Если у вас развернут принт-сервер на Windows, вы можете использовать эти логи для организации простой системы аудита печати, которая позволяет понять кто, когда и сколько печатал на ваших принтерах.
В этой статье мы покажем, как включить и настроить логирование событий печати в Windows, как просматривать историю печати из Event Viewer, и как выполнять поиск и фильтрацию событий печати с помощью PowerShell
В Windows есть отдельный журнал Event Viewer, в который должны записываться все события печати SystemRoot%System32WinevtLogsMicrosoft-Windows-PrintService%4Operational.evt
. Но по умолчанию это журнал отключен. Чтобы включить сохранение логов печати в журнал:
eventvwr.msc
); wevtutil.exe sl Microsoft-Windows-PrintService/Operational /enabled:true
Если вы хотите, чтобы в журнале событий отображалось имя файла, который был отправлен на печать, нужно включить специальный параметр GPO.
gpedit.msc
); gpupdate /force
После жэтого информация о всех событиях печати будет сохраняться в этот журнал.
Теперь вы можете получить подробную информацию о всех событиях печати, которые выполнялись на этом компьютере.
Откройте Event Viewer и перейдите в раздел Applications and Services Logs -> Microsoft -> Windows -> PrintService -> Operational. Наибольший интерес тут представляет собой событие с Event ID 307 : Printing a document
Откройте описание события:
Document 12, Microsoft Word - remontka.docx owned by kbuldogov on \DESKTOP-HOME607 was printed on HP LaserJet M1530 MFP Series PCL 6 through port USB001. Size in bytes: 32780. Pages printed: 1. No user action is required.
В описании события указано:
Таким образом, вы получите инструмент ведения и просмотра истории печати в Windows.
Журнал событий Event Viewer не позволяет получить удобную статистику истории печати в Windows или выполнять поиск по дате/пользователю/документу. Для обработки и фильтрации событий печати можно использовать PowerShell скрипты.
Для получения событий из журнала PrintService/Operational мы будем использовать PowerShell комнадлет Get-WinEvent .
Следующий PowerShell скрипт выведет список всех документов, которые были напечатаны на этом компьютере за последние сутки (скрипт выбирает значения из атрибутов события с EventID 307):
$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='kbuldogov'
$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 "Все события печати"
Можно запланировать этот PowerShell скрипт на ежедневный запуск и писать информацию об использовании принтеров во внешнюю базу данных.
Некоторые пользователи, экспериментируя с конфигурацией системы в окне msconfig могут столкнуться с ситуацией, когда после…
На сайте не раз публиковались обзоры программ, предназначенных для очистки или настройки последних версий Windows.…
При установке некоторых обновлений Windows 11, имеющих в названии «Предварительный просмотр накопительного обновления», многие пользователи…
Некоторые пользователи Windows 11, 10 и предыдущих версий системы могут столкнуться с ситуацией, когда исполняемые…
При установке обновлений Windows 11/10 некоторые пользователи могут столкнуться с ошибкой с кодом 0x800705b4 и…
Пользователи Windows 11 могут столкнуться с сообщением «Обслуживание вашей версии Windows окончено» (Your version of…