воскресенье, 26 сентября 2010 г.

Ошибка spoolsv.exe или заставляем работать Диспетчер очереди печати

Мне приходилось сталкивать с нестабильной работой службы Диспетчера очереди печати (служба spoolsv.exe). В результате пользователи испытывали затруднения при выводе документов на печать. Причем, данная ситуация возникала в основном на Windows XP (с различными сирвис паками) и на Windows Server 2003 (при работе его в качестве принт-сервера и не только). Проблема особенно неприятна своей непостоянностью (сейчас служба работает, а через полчаса у пользователей снова случилась беда). Далее я приведу порядок действий, которые мне помогали справиться с этой проблемой.

Действия выполнялись мной в нижеследующем порядке (этот список меня еще не подводил):
  • Проверить компьютер на наличие вирусов. Так уже сложилось, что служба spoolsv (Диспетчер очереди печати) довольна уязвима. Поэтому первое что нужно сделать, проверить компьютер на вирусы. Проверить можно различными способами. Я рекомендую использовать утилиту Dr.Web CureIt!. Она бесплатна и позволит вам в текущий момент избавиться от вредоносных программ.
Разумеется, лучше использовать полноценный антивирус (например, Антивирус Касперского или Dr.Web), тем более, что в настоящий момент цены стали более чем приемлемыми.
В случае подозрения на повреждения файлов службы, стоит попробовать заменить их аналогичными файлами с компьютера с операционной системой аналогичной версии и аналогичным пакетом обновления.
  • Установить последние обновления для операционной системы. Своевременное обновление операционной системы дает вам возможность уменьшить вероятность заражения компьютера вредоносными программами. Также обновления содержат исправления для системных файлов и служб, которые повышают стабильность системы.
  • Проверить драйверы для принтера или МФУ. Вполне возможно, что ошибка в службе Диспетчера очереди печати вызывается установленными драйверами. Самый простой способ исправить эту проблему – это сходить на сайт производителя и загрузить оттуда последнюю версию драйвера для устройства печати. Как правило, установка драйверов не вызывает проблем, а в случае какого-то экзотичного устройства не стоит пренебрегать инструкцией.
  • Очистить хранилище драйверов принтеров. При частой смене печатающих устройств или экспериментов с драйверами принтеров возникают конфликты, что приводит к “падению” службы Диспетчер очереди печати. Существует программное средство, которое позволяет очистить хранилище драйверов. Эта утилита называется Clean Spooler tool (cleanspl.exe) и входит в пакет специальных утилит Resource Kit Windows Server 2003 (скачать его можно здесь). В этот пакет входит масса утилит, которые могут быть полезны системным администраторам.
После загрузки пакета Resource Kit, его необходимо установить, Затем открыть командную оболочку (Пуск –> Все программы –> Windows Resource Kit Tools –> Command Shell). После открытия вы увидите следующий экран:

Необходимо запустить приложение Clean Spooler tool (cleanspl.exe) , вот так:

Утилита Clean Spooler tool имеет графический интерфейс и обладает возможностью чистить хранилище драйверов и настроек службы Диспетчер очереди печати не только на локальном компьютере, но и на удаленном компьютере. После запуска утилиты просто следуйте инструкциям:

На всякий случай не грех поставить галочку Save Spooler Registry to File. Таким образом, у вас будет некое подобие архивных копий. Однако поскольку эта утилита применялась мной, как “последнее средство”, то сделать она хуже уже не могла, а, значит, и архив был ни к чему.
Вот такие простые шаги были исчерпывающим решением в борьбе с проблемой “падающего” Диспетчера очереди печати. С помощью этой утилиты удалось произвести очистку хранилища драйверов и настроек службы Диспетчера очереди печати в Windows Vista/7 (в моем случае очистка прошла удачно и без последствий). К слову, в Windows 7 стабильность службы Диспетчер очереди печати существенно повышена.
P.S.
В посте были использованы скриншоты с сайта www.windowsreference.com

5 комментариев:

Анонимный комментирует...

Старая версия.NT 6.0 не поддерживает

Evgeny Vekovshinin комментирует...

Рискну не согласиться. Вот ссылка на обсуждение этой проблемы: http://social.technet.microsoft.com/Forums/en-US/itprovistaprinting/thread/a233badd-9834-47f8-b356-66831af3db4b/

На Windows Vista и Windows 7 работает корректно.

Анонимный комментирует...

Мне "последнее средство" почему-то не помогло.

Анонимный комментирует...

это ошибка очереди печати
помогло следующее: удаление вручную файлов system32\spool\printers\*.shd
system32\spool\printers\*.spl

Oleg Trokhymchuk комментирует...

Спасибо, мне последнее средство помогло. Потом просто нужно переподключить свои принтеры.