Windows: скрипт для очистки очереди печати конкретного принтера.
Очистка очереди печати для всех принтеров выполняется довольно просто: стопается служба "Диспетчер печати", удаляются все файлы заданий печати, запускается служба "Диспетчер печати". (подробнее тут: Очистка очереди печати принтера.) Однако, если мы имеем терминальный сервер с кучей подключенных принтеров, а сбоит только один, то такой вариант решения не желателен, т.к. удаляются ВСЕ задания печати в том числе и нормальные. Ваш покорный слуга, не нашел способа очистить очередь печати через bat-скрипт, а вот powershell-модуль для работы с принтерами такое умеет. Ниже приведены примеры использования powershell для очистки очереди печати.
Обратите внимание чтобы очистить очередь печати у пользователя должны быть права на управление документами и управление принтером, иначе мы схватим ошибку "Отказано в доступе". По умолчанию эти права выдаются только администраторам, остальным -- только право на печать. Изменить права можно в свойствах принтера на вкладке "Безопасность".
Вариант 1. Очистка всей очереди печати для конкретного локального принтера. Запрашиваем список заданий печати и удаляем их.
Get-PrintJob -PrinterName "<имя принтера>" | Remove-PrintJob
имя принтера можно посмотреть в свойствах принтера или командой Get-Printer.
Вариант 2. Очистка всей очереди печати для конкретного принтера в локальной сети. Всё тоже самое что и в первом варианте, только добавляем ключ -ComputerName и имя компа.
Get-PrintJob -ComputerName "<имя компа>" -PrinterName "<имя принтера>" | Remove-PrintJob
Вариант 3. Очистка ТОЛЬКО заданий печати с ошибками для конкретного принтера в локальной сети. Всё тоже самое что и во втором варианте, только между запросом заданий в очереди и удалением добавляем поиск заданий со статусом "Error".
Get-PrintJob -ComputerName "<имя компа>" -PrinterName "<имя принтера>" | Where-Object { $_.JobStatus -like 'Error*'} | Remove-PrintJob
Для удобства все эти команды можно запихнуть в текстовый файл с расширением .ps1 и запускать через ПКМ --> "Выполнить с помощью powershell".
Скачать заготовки скриптов можно отсюда.
Если нужно запускать скрипт с правами админа инструкция тут: Windows: Запуск файлов .ps1 от имени администратора через контекстное меню.
Комментарии
RSS лента комментариев этой записи