Скрипт для перезапуска заданий печати
#Определяем способ работы с потоками (threads) $host.Runspace.ThreadOptions = "ReuseThread" #Подключаем сборку System.Printing Add-Type -AssemblyName System.Printing #Создаем объект PrintServer (для локального компьютера) $PrintServer = new-object System.Printing.PrintServer #Получаем перечень очередей печати (PrintQueues) $PrintQueues = $PrintServer.GetPrintQueues() #Для каждой очереди печати... foreach ($PrnQueue in $PrintQueues) { #...обновим свойства объекта PrnQueue значениями, полученными от принтера #и утилит очередей печати, запущенных на компьютере $PrnQueue.Refresh() #Получаем перечень заданий печати для текущей Очереди печати $PrintJobs=$PrnQueue.GetPrintJobInfoCollection() #Для каждого задания печати... foreach ($PrnJob in $PrintJobs) { #...проверяем статус задания if ($PrnJob.JobStatus.ToString() -like "*error*") { #если статус задания, содержит слово error, то перезапускаем задание. $PrnJob.Restart() } } }
Интересное на сайте:
Голосов пока нет
Оставить комментарий