Ошибка 1796 в Windows 11: Падение диспетчера очереди печати
Архитектура подсистемы печати и суть ошибки 1796
Ошибка 1796 (ERROR_UNKNOWN_PORT — Указанный порт неизвестен) и связанные с ней краши службы Диспетчера очереди печати (spoolsv.exe) возникают из-за коррупции локальной базы данных принтеров в реестре Windows. Служба Spooler при запуске пытается инициализировать мониторы портов (Port Monitors), указанные в реестре. Если сторонний монитор порта (например, от PDF-принтера, старого драйвера HP/Kyocera или экзотического терминального маппинга) отсутствует физически (.dll файл удален), либо поврежден, spoolsv.exe уходит в крэш или выдает ошибку 1796. Бизнес-риски: полная остановка документооборота, невозможность терминальной печати (Easy Print).
Основные компоненты, вызывающие сбой
| Компонент подсистемы печати | Ключ в реестре (HKLM\SYSTEM\CurrentControlSet\Control\Print) | Причина сбоя |
|---|---|---|
| Port Monitors (Мониторы портов) | \Monitors | Несуществующий DLL-файл стороннего монитора (например, HP Standard TCP/IP Port). |
| Print Processors (Обработчики) | \Environments\...\Print Processors | Конфликт обработчиков (winprint.dll) с кастомными (например, hpcpp.dll). |
| Point and Print (Ограничения) | \Providers\LanMan Print Services | Сетевые принтеры отваливаются после патчей безопасности PrintNightmare (CVE-2021-34527). |
Алгоритм восстановления очереди печати (Spooler)
Сценарий 1: Жесткая очистка мониторов портов (Реестр)
Самый действенный способ при циклическом падении службы — удалить все сторонние мониторы портов, оставив только системные по умолчанию.
- Остановите службу:
net stop spooler(если она не остановлена). - Откройте
regeditи перейдите вHKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors. - ВАЖНО! Удалите все подразделы (папки), КРОМЕ следующих стандартных:
- Local Port
- Standard TCP/IP Port
- USB Monitor
- WSD Port
- Microsoft Shared Fax Monitor - Удалите файлы из папки
C:\Windows\System32\spool\PRINTERS(очистка очереди). - Запустите службу:
net start spooler.
Сценарий 2: Изоляция драйверов (Driver Isolation)
Чтобы сбойный драйвер не ронял всю службу spoolsv.exe, настройте изоляцию. Драйверы будут выполняться в отдельных процессах printisolationhost.exe.
Настройка изоляции через PowerShell
Set-PrinterDriver -Name "Имя_вашего_глючного_драйвера" -PrinterEnvironment "Windows x64" -Isolation SharedТиповые ошибки администраторов
- Слепая переустановка драйверов: Без очистки ветки
Monitorsв реестре установка новых драйверов не решает проблему, так как Spooler падает на этапе инициализации старого 'мертвого' порта. - Отключение обновлений после PrintNightmare: Вместо отключения патчей, правильно настраивайте GPO 'Ограничения указания и печати' (Point and Print Restrictions) и развертывайте принтеры через групповые политики.
Проброс драйверов через RDP — устаревший и нестабильный метод. Специалисты ITSTM переведут вашу инфраструктуру на Microsoft Easy Print или выделенные серверы печати (Print Server), обеспечив 100% аптайм документооборота.
Частые вопросы (FAQ)
Почему принтер выдает ошибку 'Указанный порт неизвестен' при добавлении?
В реестре Windows повреждена связь между логическим именем порта (например, IP_192.168.1.50) и его монитором (Standard TCP/IP Port). Требуется удалить порт через вкладку 'Порты' в свойствах сервера печати и создать его заново.
Что делать, если служба Spooler не останавливается (статус 'Остановка')?
Процесс завис (Deadlock). Запустите командную строку от администратора и принудительно завершите процесс: 'taskkill /F /IM spoolsv.exe'.
Как восстановить стандартные ключи реестра, если я удалил лишнее?
Безопаснее всего экспортировать ветку HKLM\SYSTEM\CurrentControlSet\Control\Print с заведомо рабочей машины с той же версией Windows и импортировать на проблемную (предварительно остановив службу диспетчера печати).
Связан ли код 1796 с ошибкой 0x0000011b (сетевая печать)?
Частично. 0x0000011b — это блокировка RPC-аутентификации (CVE-2021-1678). Если пользователи не могут печатать по сети, добавьте в реестр сервера печати DWORD-параметр RpcAuthnLevelPrivacyEnabled = 0 (снижает безопасность!).