Я пытаюсь получить сведения о заданиях на печать, сгенерированные сервером печати Windows (на основе AD), который обслуживает более 100 клиентских машин.
Поскольку мне нужно сохранить некоторые другие данные вместе с деталями задания, я использовал FindNextPrinterChangeNotification, чтобы получить jobId на клиенте (ах) и передал его в WMI на сервере, чтобы получить больше сведений о задании.
См. оба http://www.codeproject.com/Articles/51085/Monitor-jobs-in-a-printer-queue-NET и https://blogs.msdn.microsoft.com/ocleon/2008/03/26/get-print-jobs-using-wmi-and-managmentobjects/
Но дело в том, что я получаю разные идентификаторы для одной и той же работы как на сервере, так и на клиенте (например: 29956 и 29).
Может ли кто-нибудь объяснить, как обращаться с jobid между этими двумя API и найти решение этой проблемы.
Редактировать 1: С клиентских компьютеров домена, подключив сервер печати (\ipaddress) и выполнив метод FindNextPrinterChangeNotification, вы получили сведения о задании (jobid 29956). Но на сервере, выполнив запрос выбора к классу wmi win32-printjob, я вообще не дал никаких результатов, и то, что я получил ранее, было локальным идентификатором печати клиентов (29).
Может ли кто-нибудь пролить свет на то, как получить сведения о задании на сервере печати, выполняя запросы wmi локально.