Коррекция поврежденного спулера
Спулеры иногда повреждаются. В этом случае вы увидите, что принтер остановился или что задания не передаются устройству печати. Бывает и так, что принтер печатает, но выдает страницы с какой-то мешаниной. Как правило, перезапуск службы Print Spooler решает эту проблему. Вы можете остановить Print Spooler, набрав:
- sc stop spooler
После останова спулера перезапустите его, введя: sc start spooler
Если вы работаете с удаленным компьютером, делайте то же самое, но указывайте UNC-имя этого компьютера, например:
- sc \\Engsvr04 stop spooler sc \\Engsvr04 start spooler
Другие службы, требующие проверки
Если это не решило проблему, проверьте зависимые службы, а также следующие службы печати (если они установлены):
- TCP/IP Print Server;
- Print Server for Macintosh;
- Print Server for Unix.
Управление очередями печати и индивидуальными заданиями
Есть несколько Windows-сценариев, предназначенных для работы с очередями печати и содержащимися в них заданиями па печать. Утилита Prnqctl позволяет запускать, останавливать или приостанавливать печать всех документов в очереди. Для работы с заданиями на печать служит утилита Prnjobs.
Просмотр заданий в очереди
Вы можете просматривать задания в очередях командой Prnjobs. Если вы хотите увидеть все задания для всех принтеров на локальном компьютере, наберите prnjobs -1. Чтобы просмотреть задания для конкретного принтера, воспользуйтесь параметром Р и укажите имя принтера. Для удаленного компьютера задействуйте параметр -S, чтобы указать нужный удаленный компьютер, и при необходимости задайте через параметры -U и -W имя пользователя и пароль для доступа к этому компьютеру.
Просмотр всех заданий на печать для принтера MainPrinter на локальном компьютере:
- prnjobs -1 -р MainPrinter
В выводе для индивидуального задания вы увидите:
- Job ID — идентификационный номер задания, необходимый, если вы хотите работать с отдельным заданием на печать;
- Printer — имя принтера;
- Document — имя файла документа, которое также может включать имя приложения, откуда было выдано задание на его печать;
- Data Туре — тип данных принтера;
- Driver Name — имя драйвера печати, указывающее модель принтера;
- Description — описание принтера;
- Elapsed Time — время, в течение которого печатается документ;
- Job Status — состояние задания на печать (возможны состояния Printing, Spooling, Paused, Deleting и Restarting);
- Notify — лицо, которому будет сообщено об окончании печати (если настроена система оповещения);
- Owner — владелец документа;
- Pages Printed — число напечатанных страниц;
- Size — размер документа в байтах;
- Time Submitted — время и дата отправки задания;
- Total Pages — общее число страниц в документе.
Очистка очереди печати
Команда Prnqctl позволяет очистить очередь печати и удалить все ее содержимое. На локальном принтере наберите prnqctl -х и используйте параметр -Р для указания имени принтера, очередь которого вы хотите очистить. Для удаленного компьютера задействуйте параметр -S, чтобы указать нужный удаленный компьютер, и при необходимости задайте через параметры -U и -W имя пользователя и пароль для доступа к этому компьютеру.
Рассмотрим пару примеров.
Очистка очереди печати для SalesPrinter на salespc06:
- prnqctl -х -s salespc06 -p SalesPrinter
Очистка очереди печати для TempPrinter на локальном компьютере:
- prnqctl -х -р TempPrinter
При удачном выполнении Prnqctl сообщит, что документы удалены из очереди печати. Такое сообщение появится, даже если очередь печати была пуста.