Зависает очередь печати в 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
Разница принципиальная:
| Параметр | v3 | v4 |
|---|---|---|
| Загрузка DLL | В процессе Spooler | Отдельный процесс PrintFilterPipelineSvc |
| Падение драйвера | Крах Spooler, зависание всех очередей | Падение одного задания, очередь живёт |
| Установка у клиента | Нужен физический драйвер с сервера | Поставка через Windows Update / Point-and-Print |
| Совместимость | Все версии Windows | Windows 8+, Server 2012+ |
Я всегда ставлю v4-драйверы там, где модель принтера их поддерживает. В офисе на Kyocera, Konica Minolta, HP LaserJet свежих моделей — это закрывает 90% проблем со стабильностью очереди.
PrintNightmare и его последствия
После 2021 года Microsoft жёстко зарегламентировал Point-and-Print. Теперь по умолчанию установка сетевого принтера требует прав администратора, иначе пользователь видит ошибку 0x00000709 или 0x0000011b. Короткий план лечения для домена:
- На сервере печати и рабочих станциях ставим все свежие обновления — патчи ноября 2022 решают большинство проблем совместимости.
- Через GPO Computer Configuration → Administrative Templates → Printers включаем «Point and Print Restrictions» со списком доверенных серверов печати.
- Раздаём принтеры через GPO Preferences → Control Panel Settings → Printers с привязкой по группам.
- Для моделей без драйверов v4 — деплоим через Deploy-Printer на сервере печати.
Мини-кейс: бухгалтерия не печатает
В октябре 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+ рабочих местах отдельный сервер печати сильно упрощает жизнь. На нём:
- Хранится единый пул драйверов (x64 + x86, v3 и v4).
- Настраивается журналирование и квоты через PrintAudit или Microsoft Universal Print.
- Работает Branch Office Direct Printing для филиалов: очередь на сервере, задание печатается напрямую в принтер.
- Подключение через HTTPS/Web Services упрощает пользовательский опыт.
У нас в дата-центре МТС клиентские сервера печати — виртуалки на 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+ — да. Централизует драйверы, очереди и мониторинг, экономит часы поддержки в месяц.