Чаще всего эти проблемы случаются из-за того что в сети установлены принтеры разных производителей, с разными драйверами. В результате останавливается диспетчер очереди печати на терминальных серверах 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 — в данном материале не рассматриваются.
Итак, опишем проблему с сервисом печати (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 Server 2008. Она отвечает за обработку и отправку печатных заданий на принтеры и другие устройства печати. В некоторых случаях возникают ситуации, когда подсистема печати перестает работать корректно или вообще останавливается. Это может вызвать проблемы с обработкой печатных заданий и привести к задержкам в работе организации. В этой статье мы рассмотрим простой и эффективный способ перезапустить подсистему печати в Windows Server 2008, который позволяет быстро восстановить работу печати.
Перезапуск подсистемы печати может быть полезен в случае появления ошибок печати, таких как «Очередь заданий пуста» или «Ошибка подключения к принтеру». Также перезапуск может быть необходим, если не удается распечатать документы или принтер не отвечает на команды. Вместо того, чтобы перезагружать всю операционную систему, можно воспользоваться простым методом перезапуска подсистемы печати.
Для перезапуска подсистемы печати следует выполнить следующие шаги:
Шаг 1: Откройте «Службы» (Services) в панели управления Windows Server 2008. Для этого можно воспользоваться поиском или найти его в разделе «Администрирование».
Примечание: Для выполнения этого действия необходима учетная запись администратора.
Шаг 2: В списке служб найдите «Печать» (Print Spooler). Щелкните правой кнопкой мыши на этой службе и выберите «Перезапустить» (Restart).
Шаг 3: Подождите несколько секунд, пока служба перезапустится. После этого подсистема печати будет восстановлена и вы сможете продолжить печать документов без каких-либо проблем.
Этот метод является одним из самых простых и эффективных способов перезапустить подсистему печати в Windows Server 2008. Он позволяет быстро и безопасно восстановить работу печати, минимизировать простои в организации и избежать необходимости перезагрузки всей системы. Если у вас возникли проблемы с печатью в Windows Server 2008, попробуйте выполнить этот простой шаг и убедитесь в его эффективности.
Содержание
- Как перезапустить подсистему печати в Windows Server 2008
- Простой способ для эффективного перезапуска печати
- Полезная информация о перезапуске подсистемы печати
Как перезапустить подсистему печати в Windows Server 2008
Подсистема печати в Windows Server 2008 иногда может столкнуться с проблемами, такими как задержки в печати или некорректное отображение документов. В таких случаях перезапуск подсистемы печати может помочь решить проблему.
Чтобы перезапустить подсистему печати в Windows Server 2008, выполните следующие шаги:
- Откройте Службы. Нажмите кнопку «Пуск», введите «services.msc» в поле поиска и нажмите клавишу Enter. Откроется окно «Службы».
- Найдите службы связанные с печатью. Прокрутите список служб в поисках следующих служб: «Print Spooler», «Printisolationhost», «Printer Extensions and Notifications».
- Остановите службы. Щелкните правой кнопкой мыши на каждой из служб и выберите «Stop» из контекстного меню. Подтвердите действие, если система попросит об этом.
- Запустите службы. Щелкните правой кнопкой мыши на каждой из служб и выберите «Start» из контекстного меню. Подтвердите действие, если система попросит об этом.
- Протестируйте печать. Попробуйте напечатать тестовую страницу или любой документ, чтобы убедиться, что проблема перезапущенной подсистемы печати была успешно решена.
Если после перезапуска подсистемы печати проблема не исчезла, попробуйте перезагрузить сервер и проверьте наличие обновлений драйверов для вашего принтера.
Перезапуск подсистемы печати в Windows Server 2008 — простой и эффективный способ справиться с некоторыми проблемами печати, которые могут возникнуть на вашем сервере.
Простой способ для эффективного перезапуска печати
Для эффективного перезапуска подсистемы печати в Windows Server 2008 можно использовать следующий простой способ:
1. Откройте Управление службами (Services) через меню Пуск.
2. Найдите службу Печать (Print Spooler) в списке служб.
3. Щелкните правой кнопкой мыши по службе Печать (Print Spooler) и выберите пункт Перезапустить (Restart).
После выполнения этих шагов подсистема печати будет перезапущена, что может помочь решить множество проблем, связанных с печатью.
Полезная информация о перезапуске подсистемы печати
Перезапуск подсистемы печати в Windows Server 2008 может быть полезным действием в случае возникновения проблем с печатью. Он позволяет обновить связанные с печатью службы и процессы, устранить затруднения в работе принтеров и решить другие неполадки.
Для перезапуска подсистемы печати в Windows Server 2008 необходимо выполнить несколько простых действий. Вот основные шаги, которые можно предпринять для успешного перезапуска:
- Остановка службы печати. Для этого используйте команду «services.msc» или найдите соответствующую службу в «Панели управления». Выполните остановку службы печати, выбрав соответствующий пункт меню.
- Удаление принтеров. Это можно сделать через «Панель управления» — «Принтеры и устройства», выбрав принтеры и удалив их.
- Очистка папки спули печати. По умолчанию она находится в директории «C:\Windows\System32\spool\PRINTERS». Удалите все файлы в этой папке.
- Запуск службы печати. Вернитесь в «Панель управления» или используйте команду «services.msc» для запуска службы печати, которую вы остановили на первом шаге.
- Установка принтеров. После перезапуска службы печати установите принтеры снова через «Панель управления» — «Принтеры и устройства».
После выполнения всех описанных шагов подсистема печати будет перезапущена и ожидаемые результаты должны быть достигнуты. Если проблемы продолжаются, рекомендуется обратиться к специалистам по поддержке.
Способ 1: «Службы»
Если во время печати документов в Windows 10 произошел сбой, из-за которого эта процедура не может быть выполнена, необходимо перезапустить соответствующую службу. Делается это в одноименной утилите, предустановленной в операционной системе.
- Откройте «Службы» любым доступным способом. Проще всего это сделать через системный поиск. Сначала установите курсор в соответствующее поле на панели задач, затем введите запрос «Службы» и в результатах кликните по иконке одноименного приложения или по пункту «Открыть».
Читайте также: Как открыть «Службы» в Windows 10
- В появившемся окне, чтобы удобнее было искать нужную службу для перезапуска, в нижней части интерфейса перейдите во вкладку «Стандартный», а затем в верхней части отсортируйте список по имени, кликнув по нему левой кнопкой мыши.
Обратите внимание! Чтобы сортировка была от меньшего к большему, стрелочка в столбце должна указывать вверх, как это показано на изображении выше.
- Найдите в списке служб «Диспетчер печати» и перезапустите ее через контекстное меню. Для этого щелкните по названию правой кнопкой мыши, а затем в появившемся списке опций выберите пункт «Перезапустить».
- На некоторое время в центре экрана появится окно с полосой прогресса, именно с его помощью можно следить за ходом выполнения процедуры.
Читайте также: Решение проблемы «Локальная подсистема печати не выполняется» в Windows 10
Способ 2: «Командная строка»
Перезапустить службу печати в Windows 10 можно без запуска утилит с графическим интерфейсом, а путем ввода специальной последовательности команд. В некоторых случаях это удобнее. Но для начала необходимо запустить «Командную строку» с повышенными привилегиями. Сделать это можно через поиск. Установите курсор в соответствующее поле на панели задач, введите запрос «Командная строка», а затем в результатах нажмите по пункту «Запуск от имени администратора».
Читайте также: Как открыть «Командную строку» от имени администратора в Windows 10
В появившемся окне консоли введите команду для остановки службы печати, которая приведена ниже. Не забудьте после нажать по клавише Enter для ее выполнения.
net stop spooler
Теперь снова запустите службу печати, тем самым осуществив ее перезапуск. Для этого воспользуйтесь слегка модифицированной предыдущей командой, которая указана ниже. После ввода нажмите Enter.
net start spooler
Читайте также: Ошибка «Не удалось создать задание печати» в Windows 10
Еще статьи по данной теме:
Помогла ли Вам статья?
Sometimes, we have a problem with printer spooler where documents are getting stuck in the printer queue or printer spooler service is not running. To fix restart print spooler service issues, use PowerShell script to check if printer spooler service is running and restart print spooler service.
In the above image, 2 jobs are stuck/paused in Printer queue and failed to print.
In this blog post, I will explain you about how to fix issues related to printer spooler keeps stopping on windows using PowerShell script.
Fix Print Spooler Service Issue
If files are not being sent to printer or documents stuck in Printer queue, more common reason is Printer spooler service may not be running.
PowerShell Tip: Run PowerShell app or PowerShell ISE as administrator to restart Spooler service.
Print Spooler is the windows service name for print spooler. It is default enabled on all windows operating system and server OS. The main job of printer spooler service is to load print drivers, print jobs, queuing the jobs and handles the interaction with printer.
To check Printer spooler service status
Using below PowerShell script
$PrintSpooler = Get-Service -Name Spooler # Get the Print Spooler Service status (Running or Stopped $PrintSpooler
In the above PowerShell script, using Get-Service cmdlet, get Spooler service object and assigned it to $PrintSpooler variable.
In next line, print the contents of $PrintSpooler variable. It output print spooler service Status, Name and Display name as below
PowerShell – Restart Print Spooler
$PrintSpooler = Get-Service -Name Spooler # Get the Print Spooler Service status (Running or Stopped) $PrintSpooler # Logic to check Print Spooler Service and restart if not running if($PrintSpooler.Status -eq 'stopped') { # Start Print Spooler Service on local computer Start-Service $PrintSpooler } # Check the Print Spool Service status $PrintSpooler
In the above PowerShell script,
- Get Spooler service object
- Check Print Spooler Service Status
- Check if print spooler service is in stopped status
- If print spooler service is equal to stopped status, restart printer spooler service using
Start-Service Spooler
command
Cool Tip: How to get permissions on folders and subfolders!
How to Restart Printer Spooler Service on Workstation
# Get Spooler service object $PrintSpooler = Get-Service -Name Spooler #Restart Printer Spooler Service on WorkStation Restart-Service $PrintSpooler
In the above PowerShell script,
- Get Spooler Service object in $PrintSpooler variable
- Using
Restart-Service
restart print Spooler service on Workstation
Cool Tip: Use test-connection to ping list of computers using PowerShell!
Clean Print Spooler Queue
It may happen that even after restart of printer spooler service, printer still not responding or files are not getting sent to printer.
To fix these issue, we need to take the backup of printer queue and later clean printer spooler queue.
PowerShell Tip: How to get printer properties in PowerShell!
Backup of Printer Spooler Queue Files
Before we clean printer spooler queue, take the backup of queue using below PowerShell script
# Stop Spooler Service Stop-Service -Name Spooler -Force # To backup the Spooler files Move-Item -Path "$env:SystemRoot\System32\spool\PRINTERS\*.*" -Destination 'C:\Spooler\Backup\' -Force
In the above example, first stop print spooler service.
Using Move-Item and printer spool queue path, move the spool queue file to destination path as specified as backup.
Delete Printer Spooler Queue Files
As we took backup of queue files in the above steps, run below PowerShell script to delete spooler queue files and later start print spooler service.
# To delete the Printer Spooler files Remove-Item -Path "$env:SystemRoot\System32\spool\PRINTERS\*.*" # Start print spooler service Start-Service -Name Spooler
In the above PowerShell script, Remove-Item cmdlet takes the printer spooler queue path specified with $env: path environment variable and delete all the files from the folders.
Cool Tip: How to using tail – to get last lines of files in PowerShell!
Conclusion
In the above post, I explained about how to restart print spooler service and use different PowerShell commands to fix the issues related to Printer spooler service not responding or printer spooler service is not in running status.
In such cases, you can restart print spooler service on local or remote workstation.
You can find more topics about PowerShell Active Directory commands and PowerShell basics on ShellGeek home page.