Чаще всего эти проблемы случаются из-за того что в сети установлены принтеры разных производителей, с разными драйверами. В результате останавливается диспетчер очереди печати на терминальных серверах 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 — в данном материале не рассматриваются.
Загрузить PDF
Загрузить PDF
Благодаря Диспетчеру печати компьютер под управлением Windows взаимодействует с принтером. Диспетчер печати также управляет документами, которые отправляются на печать. Если появилось какое-либо сообщение об ошибке диспетчера печати, то это означает, что он поврежден или не может правильно взаимодействовать с другим программным обеспечением. Вам, возможно, потребуется применить несколько методов, описанных ниже, чтобы восстановить работу диспетчера печати.
-
1
Откройте свойства диспетчера печати. Вы не сможете решить все проблемы диспетчера печати, просто изменив его свойства, но это самый легкий и безопасный метод, работающий в Windows любой версии.
- Нажмите Windows + R, чтобы открыть окно «Выполнить». Введите services.msc и нажмите ↵ Enter. Дважды щелкните по «Диспетчеру печати».
- Или нажмите Пуск → Панель управления → Администрирование → Службы → Диспетчер печати.
-
2
Перезапустите диспетчер печати. Кнопки Остановить и Запустить расположены на вкладке «Общие» в окне «Свойства диспетчера печати». Некоторые неполадки будут устранены посредством перезапуска диспетчера печати. Оставьте это окно открытым, так как необходимо внести и другие изменения.
-
3
Наладьте автоматический запуск диспетчера печати. В выпадающем меню «Тип запуска» выберите «Автоматически», чтобы диспетчер печати запускался при загрузке системы. Нажмите Применить (в правом нижнем углу), чтобы сохранить внесенные изменения.[1]
-
4
Измените параметры восстановления. Перейдите на вкладку «Восстановление», чтобы задать действия диспетчера печати при возникновении сбоев. Некоторые изменения повысят шанс того, что диспетчер печати самостоятельно устранит возникшие неполадки, и сведут к минимуму вероятность краха диспетчера печати. Измените настройки так:[2]
- Первый сбой: Перезапуск службы
- Второй сбой: Перезапуск службы
- Последующие сбои: Не выполнять никаких действий
- Сброс счетчика ошибок через: 1 дн.
- Перезапуск службы через: 1 мин.
- Нажмите Применить.
-
5
Запретите взаимодействие с рабочим столом. Перейдите на вкладку «Вход в систему» и уберите флажок у «Разрешить взаимодействие с рабочим столом».[3]
Если эта опция включена, то могут возникнуть проблемы с диспетчером печати.[4]
Нажмите Применить. -
6
Перезагрузите компьютер. Теперь можно попробовать распечатать документ. Для этого закройте окно «Свойства диспетчера печати» и/или перезагрузите компьютер, чтобы изменения вступили в силу. Если ошибка не устранена, перейдите к следующему шагу.
-
7
Проверьте зависимости. Вернитесь в окно «Свойства диспетчера печати» (описано выше), если вы его уже закрыли. Перейдите на вкладку «Зависимости» и посмотрите на верхний раздел с названием «Данная служба зависит от следующих системных компонентов».[5]
Проверьте статус каждой службы, расположенной в этом разделе.- Вернитесь в окно «Службы». Если оно закрыто, откройте его (описано выше).
- В столбце «Имя» найдите службу, которую вы нашли в разделе «Данная служба зависит от следующих компонентов».
- Убедитесь, что у данной службы в столбце «Состояние» отображено «Работает».
- Убедитесь, что у данной службы в столбце «Тип запуска» отображено «Автоматически».
- Если у какой-либо из рассматриваемых служб в указанных столбцах отображено что-то другое, перезапустите эту службу. Это можно сделать при помощи кнопок в окне «Службы» или при помощи кнопок в окне свойств конкретной службы, дважды щелкнув по ее имени.
- Если вам не удается перезапустить службу, или если ее перезапуск не привел к изменению ее статуса, попробуйте переустановить драйвер (описано ниже).[6]
Если метод не сработал, вам, возможно, потребуется устранить неполадки такой службы через редактирование реестра (но это очень рискованно).[7]
Реклама
-
1
Очистите очередь печати. Очистка очереди зачастую приводит к устранению неполадок. Также это необходимо сделать, чтобы перейти к следующим шагам.[8]
- Откройте окно «Службы» (нажмите Windows + R, введите services.msc, нажмите Enter).
- Выберите «Диспетчер печати» и нажмите «Остановить».
- Откройте папку C:\Windows\system32\spool\PRINTERS. Вам, возможно, понадобится отобразить скрытые файлы и папки и/или ввести пароль администратора.
- Удалите все содержимое папки «Printers». Не удаляйте саму папку! Обратите внимание, что это приведет к удалению всех текущих заданий печати, поэтому убедитесь, что никто не использует принтер по локальной сети.
- Вернитесь в окно «Службы», выберите «Диспетчер печати» и нажмите «Запустить».
-
2
Обновите драйвер принтера. Драйвер принтера может быть поврежден, поэтому возникают проблемы с очередью печати. В первую очередь обновите драйвер принтера. Если обновление драйвера не привело к решению проблемы, перейдите к следующему шагу.
-
3
Удалите принтер. Программное обеспечение принтера может быть повреждено. Поэтому удалите принтер, а затем установите его.[9]
- Отключите принтер или отключитесь от беспроводного принтера.
- В строке поиска введите «Устройства и принтеры» и откройте это окно.
- Щелкните правой кнопкой мыши по значку сбойного принтера. В меню выберите «Удалить».
-
4
Удалите драйвер принтера. Оставьте окно «Устройства и принтеры» открытым и внесите следующие изменения:
- Щелкните левой кнопкой мыши по значку любого принтера, а затем нажмите Свойства сервера печати (в верхней строке меню).
- В окне «Свойства сервера печати» перейдите на вкладку «Драйверы».
- Выберите драйвер удаленного принтера, а затем нажмите Удалить.
- Если вы выберете «Удалить драйвер и его пакет», будет удален и установочный пакет драйвера. Сделайте это, только если знаете, где найти новый установочный пакет.
-
5
Переустановите принтер. Подключите принтер и следуйте инструкциям на экране, чтобы переустановить его. Если вы удалили пакет драйверов, скачайте новый. Его можно найти на сайте производителя принтера.
-
6
Если принтер не удаляется или автоматически переустанавливается, удалите его при помощи утилиты «Управление печатью». Это можно сделать в Windows 7 Pro/Ultimate/Enterprise и в Windows 8 Pro/Enterprise.[10]
[11]
- Нажмите Пуск → Администрирование → Управление печатью и войдите в качестве администратора. Или нажмите Пуск → Панель управления → Система и безопасность → Администрирование → Управление печатью.
- В левой панели нажмите на стрелку рядом с Серверы печати, чтобы открыть список.
- Нажмите на стрелку рядом с вашим компьютером (помечен как «локальный»).
-
7
В левой панели нажмите Принтеры. В правой панели найдите сбойный принтер, щелкните по нему правой кнопкой мыши и выберите «Удалить».
- Нажмите Драйверы в левой панели. Щелкните правой кнопкой мыши по драйверу сбойного принтера и нажмите «Удалить». (Вы не сможете удалить драйвер, если он используется другим принтером.)
- Или щелкните правой кнопкой мыши по драйверу и выберите «Удалить пакет драйверов». Это приведет к удалению драйвера и его установочного пакета. Делать так иногда необходимо, но вы не сможете переустановить драйвер, пока не скачаете новый установочный пакет.
- Подключите принтер, чтобы заново установить его. Скачайте новый установочный пакет, если вы удалили установочный пакет драйвера.
Реклама
-
1
-
2
Откройте командную строку с правами администратора. В строке поиска введите «командная строка». Щелкните правой кнопкой мыши по «Командная строка» и выберите «Запуск от имени администратора». Введите пароль администратора.
-
3
Введите команды сканирования. В открывшемся окне введите sfc /scannow и нажмите ↵ Enter (не забудьте про пробел перед косой чертой). Запустится утилита «Проверка системных файлов», которая произведет поиск поврежденных файлов и, при их обнаружении, попытается восстановить их.
- Этот процесс вернет системные файлы в состояние по умолчанию. Если вы вносили изменения в системные файлы, перед сканированием системы сделайте ее резервную копию.[12]
- Этот процесс вернет системные файлы в состояние по умолчанию. Если вы вносили изменения в системные файлы, перед сканированием системы сделайте ее резервную копию.[12]
-
4
Дождитесь завершения сканирования. В процессе сканирования оставьте окно командной строки открытым. Прочтите сообщение по окончании сканирования.
- Если сообщение гласит: «Защитник Windows нашел поврежденные файлы и успешно восстановил их», перезагрузите компьютер и попробуйте что-нибудь распечатать.
- Если сообщение гласит: «Защитник Windows нашел поврежденные файлы, но некоторые из них не были восстановлены», перейдите к следующему шагу.
- Для любого другого сообщения попробуйте выполнить действия, описанные ниже.
-
5
Найдите поврежденный файл. Если в процессе сканирования поврежденный файл был найден, но не восстановлен, попробуйте сделать это вручную.[13]
- В командной строке введите findstr /c:»[SR]» %windir%\Logs\CBS\CBS.log >»%userprofile%\Desktop\sfcdetails.txt и нажмите ↵ Enter.
- Найдите файл Sfcdetails.txt на рабочем столе и откройте его.
- Найдите отчет за сегодняшнее число. Найдите имя поврежденного или отсутствующего файла.
-
6
Найдите копию этого файла. Это можно сделать на другом компьютере под управлением такой же версии Windows и скопировать нужный файл на ваш компьютер. Кроме того, копию файла можно найти в интернете, но скачивайте файлы только из надежных источников.
- Более того, нужный файл можно извлечь с установочного диска Windows.[14]
- Более того, нужный файл можно извлечь с установочного диска Windows.[14]
-
7
Установите копию файла. Вот как заменить поврежденный файл новым:[15]
- В командной строке введите takeown /f, пробел и путь к поврежденному файлу. Например: takeown /f C:\windows\system32\oldfile. Нажмите ↵ Enter.
- Затем введите команду icacls <путь к поврежденному файлу> /grant administrators:F, при этом замените «путь к поврежденному файлу» на тот путь, что вы указали выше.
- Скопируйте новый файл, для этого введите команду copy <путь к новому файлу> <путь к поврежденному файлу>; замените слова в угловых скобках (<…>) на нужные пути.
Реклама
Советы
- В Windows Server 2003 и Windows XP Professional x64 Edition иногда случаются неполадки при отправке документов на печать на определенный принтер. Можно скачать патч этой ошибки с сайта поддержки Microsoft.[16]
- Есть множество утилит, которые автоматически исправляют диспетчер печати. Скачивайте такие утилиты из надежных источников, чтобы не подцепить вирус или вредоносную программу.
Реклама
Об этой статье
Эту страницу просматривали 147 667 раз.
Была ли эта статья полезной?
Как перезапустить диспетчер печати
19.08.2014 15:07
Администратор
- 1
- 2
- 3
- 4
- 5
(12 голоса, среднее 4.00 из 5)
Случается, что принтер отказывается работать или вообще пропадает из панели «Принтеры».
В данном случае. первым делом необходимо попробовать перезапустить диспетчер печати.
Для этого, необходимо запустить командную строку: Пуск — Выполнить (на компьютере, где отсутствует пункт в меню «Выполнить» необходимо нажать сочетания клавиш win + r) — в появившемся окне набрать с клавиатуры CMD. В Windows Vista и выше командную строку необходимо запустить от имени администратора. В появившемся консольном окне необходимо набрать следующий текст и нажать кнопку Enter.
net stop spooler net start spooler
Удачи!!!
ВКонтакте
Добавить комментарий
Софт
Всё для сисадмина
Информационная безопасность
Программирование
Образование
Праздники и история IT
Кто на сайте
Сейчас 26 гостей онлайн
Статистика
Экспорт RSS
RSS
Поиск по сайту
Голосования
Мы в Яндекс.Дзен
Блог IT
Мы Вконтакте
Итак, опишем проблему с сервисом печати (print spooler) на сервере, в крупной фирме, где есть много разномастных принтеров, подключенных в терминальном режиме.
0. Суть ошибки
Эта проблема появляется в остановке сервиса печати при работе в терминале с удаленного офиса. Ошибка происходит в терминале и принтер перестает принимать документы на печать, при чем на сервере появляется «клон» принтера, и на нем начитается выстраиваться очередь на печать, а фактически печать документов не происходит.
1. Причины ошибки
Происходит ошибка в очереди печати, или если возникла ошибка при печати на принтере, либо при отмене какого-нибудь документа, либо после небольшого разрыва связи, либо при отправке документов одновременно несколькими пользователями на печать. Тогда начинается паника в офисе, а если еще и нужно срочно распечатать какой-нибудь отчет, начинаются звонки сисадминам, с криками: «СПАСИТЕ!!!ПОМОГИТЕ!!!! НЕВОЗМОЖНО РАБОТАТЬ!!!! ДА КОГДА ЖЕ ЭТО ВСЕ ПРЕКРАТИТСЯ!!!!» — и т. д. Вот сейчас мы и опишем, как можно исправить данную неприятность в операционных системах семейства Windows.
2. Решение
Решается данная проблема перезапуском сервера печати, т. е. службы prints pooler. (Подробно о службе prints pooler можно прочитать вот здесь). Чтоб перезапустить данную службу (как и любую другую) необходимо выполнить 2 команды:
net stop spooler
net start spooler
Если операцию приходится выполнять периодически, удобнее создать «костыль» в виде файла c расширением «.bat», проще говоря «батника».
Откроем простой блокнот (удобнее всего использовать программу NotePad++) и напишем там 2 вышеназванные строчки. Сохраним этот файл, поставив расширение .bat вместо .txt, назвав его «перезапуск службы печати» или как нибудь еще, как удобнее. При запуске этого файла будет происходить перезапуск службы печати.
На скриншоте выше добавлен оператор pause в конце что бы показать работу bat-файла.
Запись опубликована в рубрике cmd с метками cmd, Windows Server 2008. Добавьте в закладки постоянную ссылку.
Вы можете столкнуться с ошибкой «Локальная подсистема печати не выполняется» как при попытке подключить новый принтер, так и при открытии настроек уже настроенного локального принтера или при отправке на печать любого документа. Эта ошибка может появиться как в Windows 10, так и в Win 7 или 8.1.
Текст сообщения об ошибке может немного отличаться в зависимости от того, какое действие вы пытаетесь выполнить с объектами в подсистеме печати. Например:
Ошибка открытия принтера.
Windows не удается подключиться к принтеру.
Локальная подсистема печати не выполняется. Перезапустите подсистему или перезагрузите компьютер.
Или
Не удалось открыть мастер добавления принтеров. Локальная подсистема печати не выполняется.
В английской версии Windows ошибка может выглядеть так:
Windows can’t open Add printer. The local Print Spooler service is not running, Please restart the Spooler or restart the machine.
Windows cannot connect to the printer, The local Print Spooler service is not running.
В первую очередь нужно проверить, запушена ли служба печати (Print Spooler). При отключенной службы печати вы можете столкнуться с ошибкой 0x000006ba.
- Для этого откройте консоль управления службами (services.msc);
- В списке служб найдите службу «Диспетчер печати» (Print Spooler);
- Убедитесь, что служба запущена (состояние – «Выполняется»), а тип запуска «Автоматический»;
- Перезапустите службу;
- Если служба не запущена, измените тип запуска службы и запустите ее;
- На вкладке зависимости убедитесь, что служба Print Spooler зависит от служб Удаленный вызов процедур RPC (Remote Procedure Contro) и HTTP службы (HTTP Service). Для корректной работы службы печати данные службы должны быть запущены. Если зависимости не настроены, вы можете восстановить их командой:
sc config spooler depend= RPCSS
Так же вы можете проверить статус службы печати из командной строки, выполнив команду:
sc query spooler
В этом примере видно, что служба запушена (Running).
Если служба «Диспетчер печати» отсутствует или не запускается, попробуйте очистить очередь печати и удалить файлы в папке C:\windows\system32\spool\Printers (при остановленной службе печати). Затем проверьте, включен ли компонент печати Windows:
- Перейдите в Панель управления -> Все элементы панели управления -> Программы и компоненты –> Включение или отключение компонентов Windows
- В списке компонентов найдите раздел «Службы печати и документов»;
- Убедитесь, что включены службы: Клиент интернет-печати, Служба печати LPD и Факсы и сканирование Windows;
- Можете попробовать переустановить компоненты: отключите их, сохраните изменения, а потом включить заново.
Если ошибка «Локальная подсистема печати не выполняется» появляется при попытке подключения общего сетевого принтера с другого компьютера, попробуйте подключить сетевой принтер через локальный порт (в качестве имени порта используется адрес принтера в формате \\PCName1\HP2000). Процедура подключения сетевого принтера через локальный порт подробно описана в статье Печать на сетевом принтере на Windows 10 из-под XP.
Если ничего не помогло, запустите мастер исправления проблем с печатью: Параметры -> Обновления и безопасность -> Принтер (Поиск и устранение проблем с печатью) -> Запустите средство устранения неполадок.
Также проверьте целостность системных файлов с помощью команд:
sfc /scannow
или
dism /Online /Cleanup-Image /RestoreHealth