Как обнаружить новые задания на печать в очереди Windows с помощью Powershell - PullRequest
0 голосов
/ 16 ноября 2018

Я ищу способ с помощью PowerShell определить, когда новое задание на печать поступает в очередь на печать.Я искал последние пару дней, и самое лучшее, что я придумал, это ссылка на флаг "PRINTER_CHANGE_ADD_JOB" здесь , но ничего о том, как его использовать.

Я хотел бы иметь возможность делать что-то вроде потоков, которые говорят о регистрации события для просмотра новых файлов в папке (например, эта статья TechNet с использованием System.IO.FileSystemWatcher).

Есть ли что-то сопоставимое для очередей печати?Любой пример кода, или даже ссылки на статьи или учебники, будет принята с благодарностью.Я только начал работать с PowerShell пару месяцев назад.

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Насколько я знаю, я не думаю, что есть какие-либо встроенные командлеты PowerShell, чтобы получить то, что вы хотите.но вы можете написать скрипт либо с помощью модуля Get-PrintJob, либо вы можете использовать WMI для получения этой информации.Если вы хотите получать уведомления, вы можете либо записать в журнал событий, либо перенаправить вывод в send-mailmessage и отправить вам уведомление по электронной почте, если задание на печать содержит ошибку.

Get-WMIObject Win32_PerfFormattedData_Spooler_PrintQueue |Select Name, @{Expression={$_.jobs};Label="CurrentJobs"}, TotalJobsPrinted, JobErrors
0 голосов
/ 17 ноября 2018

если у вас есть сервер печати, вы можете использовать модуль PowerShell PrintManagment https://docs.microsoft.com/en-us/powershell/module/printmanagement/?view=win10-ps.

С уважением Шихан

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...