· 14 мин чтения

Зависает очередь печати в Windows: разбор причин и рабочие решения

Семёнов Евгений Сергеевич, директор АйТи Фреш. За 15+ лет я чинил очереди печати тысячи раз — от домашнего МФУ до корпоративных серверов печати на 40 очередях в дата-центре МТС. Проблема всегда выглядит одинаково: документ лежит в очереди со статусом «Печать», ничего не происходит, следующие задания встают в ступор. В статье — систематика причин, быстрые решения и совет, как больше не возвращаться к теме.

Как устроен Print Spooler

Служба Spooler (spoolsv.exe) — это посредник между приложением и принтером. Приложение отдаёт задание, Spooler кладёт его в файл C:\Windows\System32\spool\PRINTERS\*.SPL, дальше драйвер превращает документ в язык принтера и передаёт на порт. Сбой на любом этапе приводит к зависанию очереди, потому что Spooler не продвигает следующее задание, пока текущее «застряло».

Быстрое лечение: сброс Spooler и очистка

Когда пользователь звонит и жалуется, я начинаю с этой команды. Работает в 70% случаев:

Stop-Service Spooler -Force
Remove-Item "$env:SystemRoot\System32\spool\PRINTERS\*" -Force -Recurse
Start-Service Spooler

То же, но через BAT для технарей-помощников:

net stop spooler
del /Q /F /S %systemroot%\System32\spool\PRINTERS\*.*
net start spooler

После этого задания, стоявшие в очереди, исчезнут. Если пользователю нужны — предупредите, чтобы отправлял заново.

Если Spooler падает сразу после запуска

Типичная картина: служба стартует и через 5 секунд останавливается. Смотрим Event Log:

Get-WinEvent -LogName 'System' -FilterHashtable @{ProviderName='Service Control Manager'} -MaxEvents 20 |
  Where-Object {$_.Message -match 'Spooler'}

Get-WinEvent -LogName 'Application' -FilterHashtable @{ProviderName='Application Error'} -MaxEvents 10 |
  Where-Object {$_.Message -match 'spoolsv'}

В модуле-виновнике (поле Fault Module Name) обычно указан конкретный драйвер — hpzllswn.dll, printconfig.dll, mxdwdrv.dll. Это прямой указатель: удаляйте драйвер-виновник и ставьте актуальную версию или переходите на Universal Print Driver.

Удаление кривого драйвера начисто

Простое удаление принтера часто не помогает — драйвер остаётся в хранилище. Полный чистящий алгоритм:

# Остановить Spooler
Stop-Service Spooler -Force

# Удалить принтер
Remove-Printer -Name "HP LaserJet Pro"

# Удалить драйвер полностью
Remove-PrinterDriver -Name "HP Universal Printing PCL 6"

# Очистить хранилище (PrintUI)
pnputil.exe /enum-drivers | findstr /i "Printer"
pnputil.exe /delete-driver oem42.inf /uninstall /force

# Запустить Spooler
Start-Service Spooler

Драйверы v3 и v4 — выбирайте v4

Разница принципиальная:

Параметрv3v4
Загрузка DLLВ процессе SpoolerОтдельный процесс PrintFilterPipelineSvc
Падение драйвераКрах Spooler, зависание всех очередейПадение одного задания, очередь живёт
Установка у клиентаНужен физический драйвер с сервераПоставка через Windows Update / Point-and-Print
СовместимостьВсе версии WindowsWindows 8+, Server 2012+

Я всегда ставлю v4-драйверы там, где модель принтера их поддерживает. В офисе на Kyocera, Konica Minolta, HP LaserJet свежих моделей — это закрывает 90% проблем со стабильностью очереди.

PrintNightmare и его последствия

После 2021 года Microsoft жёстко зарегламентировал Point-and-Print. Теперь по умолчанию установка сетевого принтера требует прав администратора, иначе пользователь видит ошибку 0x00000709 или 0x0000011b. Короткий план лечения для домена:

Мини-кейс: бухгалтерия не печатает

В октябре 2025 — торговая фирма в Москве, 28 рабочих мест, принтер HP LaserJet M506dn как сетевой ресурс. Пятничный вечер, очередь зависает каждые 2 часа. Подключаюсь по WinRM, смотрю Application-лог, нахожу падение hpzllswn.dll. Обновляю драйвер до HP Universal PCL6 v4, разворачиваю через GPO, отключаю старый v3. Через 20 минут бухгалтерия печатает без перерывов. За 15+ лет это один из тех случаев, когда правильный драйвер экономит недели возни.

Диагностика сетевых принтеров

Если принтер виден, но не печатает — пятиминутный чек:

# Доступность принтера по IP
Test-NetConnection 192.168.1.200 -Port 9100   # RAW TCP
Test-NetConnection 192.168.1.200 -Port 515    # LPR
Test-NetConnection 192.168.1.200 -Port 631    # IPP

# Состояние очереди на клиенте/сервере
Get-Printer "HP LaserJet M506" | Select Name, PrinterStatus, JobCount
Get-PrintJob -PrinterName "HP LaserJet M506"

Если пингуется, но не печатает — проверяйте порт принтера в PrintManagement.msc, чаще всего помогает пересоздание порта с нуля.

Сервер печати — когда он нужен

При 5+ моделях принтеров и 30+ рабочих местах отдельный сервер печати сильно упрощает жизнь. На нём:

У нас в дата-центре МТС клиентские сервера печати — виртуалки на Dell Xeon Platinum 8280, и на каждом — десятки корпоративных очередей с отказоустойчивостью через Failover Cluster.

Наведу порядок с печатью в офисе

Разверну сервер печати, перееду на v4-драйверы, централизую деплой через GPO, настрою мониторинг и журналирование. Москва и область, удалённо и с выездом.

Телефон: +7 903 729-62-41
Telegram: @ITfresh_Boss
Семёнов Евгений Сергеевич, директор АйТи Фреш

FAQ — частые вопросы

Почему очередь печати периодически зависает?
Чаще всего кривой драйвер v3 с утечкой памяти или битое задание в spool-папке. Решается переходом на v4 и обновлением.
Как очистить зависшую очередь вручную?
Stop-Service Spooler → удалить файлы в System32\spool\PRINTERS → Start-Service Spooler.
Что такое драйверы v3 и v4, и какие лучше?
v4 работает в отдельном процессе и не крашит Spooler при сбое. Для Windows 10/11 и Server 2019+ — всегда v4, где доступны.
Почему пользователи не видят сетевой принтер?
PrintNightmare-патчи ввели ограничения Point-and-Print. Настройте политику «Point and Print Restrictions» или деплойте через GPO Preferences.
Нужен ли отдельный сервер печати в офисе на 50 мест?
Если моделей принтеров 5+ — да. Централизует драйверы, очереди и мониторинг, экономит часы поддержки в месяц.

Подпишитесь на рассылку ITfresh

Раз в неделю — практические гайды для руководителя IT и сисадмина: безопасность, 1С, миграции, резервные копии, лайфхаки из реальных проектов.

Реквизиты оператора персональных данных

ООО «АЙТИ-ФРЕШ», ИНН 7719418495, КПП 771901001. Юридический адрес: 105523, г. Москва, Щёлковское шоссе, д. 92, корп. 7. Контакт: info@itfresh.ru, +7 903 729-62-41. Оператор обрабатывает e-mail подписчика в целях рассылки информационных и рекламных материалов до момента отзыва согласия.