Чаще всего эти проблемы случаются из-за того что в сети установлены принтеры разных производителей, с разными драйверами. В результате останавливается диспетчер очереди печати на терминальных серверах Windows.Также операционки разных разрядностей, те 32bit и 64bit. Также подобное поведение в большей мере проявляется у USB принтеров, в меньшей мере у сетевых.
Рассматривать установку драйверов не будем - разберемся со службой печати. Данный мануал подойдет как для Windows 2008 и выше, так и для windows 7.
Перезапуск службы печати в Windows
Данная служба называется print spooler. Для чего может потребоваться выполнить перезапуск службы печати? Бывает так, что в какой-то момент очередь печати принтера просто забивается, особенно если печать ведется через сервер терминалов.
Как перезапустить службы печати Windows через оснастку службы
Открываем - Пуск - Панель управления
Далее ищем пункт - Администрирование - Службы
либо нажимаем win+R, открыв командную строку - пишем services.msc и жмем enter. У вас откроется оснастка Службы.
Находим нашу с вами службу, а именно Диспетчер печати, видим, что статус у нее сейчас Работает.
Щелкаем правым кликом и из контекстного меню выбираем Перезапустить.
Служба перезапустится и ваш принтер вероятно, начнет снова печатать.
Как перезапустить службы печати Windows через консоль.
Открываем cmd через Пуск.
И пишем в нем две команды:
net stop spooler net start spooler
Как очистить очередь печати принтера (Windows)
Проблема: документы не удаляются из очереди, причем не помогает ни отключение принтера, ни перезагрузка компьютера.
В этом случае используем жесткий метод очистки, описанный ниже.
Необходимо открыть командную строку, запущенную от имени администратора, и выполнить следующие команды:
net stop spooler del %systemroot%\system32\spool\printers\*.shd del %systemroot%\system32\spool\printers\*.spl net start spooler
Для ленивых Cmd файл в архиве remove_printer_jobs.zip217 Байт. (Запускать от имени Администратора)
После всех манипуляций может получиться так, что на терминальных серверах принтеры все равно через какое то время перестают работать.
Причины этих проблем разделим следующим образом.
- Неидентичные версии драйверов на клиентской машине и на терминальном сервере.
- Нестабильность драйверов в терминальной среде.
- Высокая нагрузка на службу «диспетчер очереди печати»
- Отсутствие работоспособных драйверов для терминальных серверов.
Версии драйверов.
Драйверы различных версий на сервере и клиентских машинах (в общем, то это первое, что нужно проверить) должны быть идентичны в т. ч. и с точки зрения версии PCL. Если версии отличаются то, скорее всего печати нам не видать. Также можно отметить, что когда стоит выбор использовать PCL5 или PCL6, лучше устанавливать драйверы PCL5, т.к. на практике они работают стабильнее. PCL6 возможно пригодится для печати векторной графики, но в офисах, где печатаются в основном текстовые документы, он не так актуален.
Высокая нагрузка и нестабильность драйверов в терминальной среде.
Нестабильная работа драйверов и, соответственно, перегрузка ими диспетчера очереди печати (по русски – «спулера») вызывала (и будет вызывать, если не чего не делать), остановку всего процесса печати на сервере, а иногда и остановку (зависание) ОС сервера в целом.
До выхода Windows Server 2008, штатных средств по оптимизации нагрузки спулера в ОС Windows Server не было.
Поэтому единственным адекватным методом борьбы с регулярным зависанием спулера (и соответственно, массовыми звонками в тех. поддержку от разгневанных пользователей), был bat-ник, по расписанию превентивно перезапускающий процесс spoolsv.exe (например, утром и в обеденное время), освобождая спулер от висящих запросов и очередей.
С выходом Windows Server 2008 и Windows 7 появилась возможность изоляции драйверов принтера. Данная возможность позволяет драйверу принтера подгружать задачи не в Spoolsv.exe, а специальный под-процесс PrintIsolationHost.exe.
При такой конструкции, зависание драйвера одного принтера, не вешает всю очередь печати, поскольку встает только один под-процесс PrintIsolationHost.exe, а сам процесс спулера spoolsv.exe остается работоспособным.
Теперь пару слов о настройке. Диспетчер печати по умолчанию выполняет драйверы печати в изолированном процессе. Изменить можно при помощи групповой политики, параметр "Выполнять драйверы принтеров в изолированных процессах" .
Также важен еще один параметр групповой политики это – "Переопределить параметр совместимости выполнения драйвера печати"
Для того чтобы включить изоляцию драйверов принтеров, нужно использовать редактор локальной групповой политики (gpedit.msc):
Откройте gpedit.msc и последовательно перейдите:
Параметры компьютера (Computer Configuration) -> Административные шаблоны (Administrative Templates)-> Принтеры (Printers).
Среди перечня политик нужно включить следующие:
Выполнить драйверы принтеров в изолированных процессах (Execute print drivers in isolated processes)
Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати (Override print driver execution compatibility setting reported by print driver)
К сожалению, данная функция никак не решит проблему отсутствия работоспособных драйверов для терминальных сред или слишком высокой нагрузки на спулер (например, когда на сервере установлены 10-ки разных драйверов разных устройств).
Отсутствие работоспособных драйверов для терминальных сред и сверхнагрузка на спулер.
В ситуации, когда с терминального сервера необходимо печатать на 10-ках различных печатающих устройствах (в зоопарке из принтеров, если быть точнее), многие из которых не имеют рабочих драйверов для терминалов, следует применять функцию TS Easy Print.
TS Easy Print и сторонние решения вроде коммерческого продукта ScrewDrivers - в данном материале не рассматриваются.
Рубрики
-
3D и графика ( 7 )
-
Веб разработка ( 13 )
-
Железо и периферия ( 8 )
-
Портфолио и резюме ( 3 )
-
Сервер на Debian Linux ( 20 )
-
Сисадмину на заметку ( 14 )
-
Тестовая лаборатория ( 10 )
Новые записи
25.03.23 Ошибка 0x00000709 при попытке установить сетевой USB принтер
05.10.19 Добавление сертификата в exim4
18.08.18 Утилиты диагностики системы Linux
02.10.16 Отключение systemd на Debian
Комментарии
- Всё отлично! Спасибо за гайд!
03.03.24 08:01 комментирует: Luidgi Vampa - Добрый день! Спасибо вам за ваши статьи! Подскажите пожалуйста. Как проверить ус...
17.01.24 01:47 комментирует: Олег - Спасибо, проделал на ноутбуке dv5-1040er, скорость реально выросла. Делал на w10...
10.10.23 15:58 комментирует: Евгений - у мене схожа проблема як була у вас... чому ви вирішили ввести 92500000??? дякую...
11.04.23 01:51 комментирует: Володимир