Периодически на одном из принт-серверов под управлением Windows Server 2012 R2 замечаем, что некоторые подключенные сетевые принтеры переходят в автономный режим работы, перестают печатать, а в очереди печати начинают накапливаться задания. В этой статье мы рассмотрим, почему сетевой принтер может переключаться в offline режим, и как решить эту проблему без переустановки принтера и перезагрузки сервера печати.
Отройте на принт-сервере консоль управления Print Management, найдите принтер со статусом Queue Status = Offline (Отключен), откройте его очередь печати и убедитесь, что в параметрах принтера отключен опция Use Printer Offline (Работать автономно).
Затем убедитесь, что принтер включен и доступен по сети (проверьте доступность принтера через ping по IP, проверьте, открывается ли веб интерфейс управления принтером).
Как Windows определяет доступность принтера? В ОС Windows 7 и выше по-умолчанию для опроса состояния принтера используется протокол SNMP (Simple Network Management Protocol). Сервер печати отправляет принтеру SNMP запрос и ждет ответа. Если SNMP от принтера ответ не получен, такой принтер считается недоступным и переводится на принт-сервере в автономный режим работы. Рассмотрим, особенности настройки протокола SNMP для сетевых принтеров на сервере печати Windows.
В первую очередь нужно убедиться, что ваш принтер поддерживает протокол SNMP. Откройте веб интерфейс управления сетевым принтером, и проверьте, что в настройках принтера включен протокол SNMP и для него используется имя сообщества (community name) public.
Найдите принтер в консоли, откройте его свойства и перейдите на вкладку Ports. Откройте настройки порта Standard TCP/IP port -> Configure Port. Если ваш сетевой принтер поддерживает протокол SNMP, проверьте, что опция SNMP Status Enabled (Состояние SNMP разрешено) включена, а Community Name установлено в public.
Если ваш принтер не поддерживает протокол SNMP, вы должны отключить этот протокол в настройках порта печати этого принтера. В результате Windows перестанет слать SNMP пакеты для опроса состояния устройства.
Проверьте, что состояние принтера изменилось на Ready/Готов.
Вы можете найти все принтера на принт-сервере, на которых отключен протокол SNMP с помощью следующего командлета PowerShell (используется встроенный модуль PrintManagement):
get-printerport |where {$_.snmpenabled -ne $True}|select name,protocol,description,printerhostaddress
Следующая команда PowerShell поможет найти порты сетевых принтеров, у которых имя SNMP сообщества отличается от Public:
get-printerport |where {$_.SNMPCommunity -ne ‘Public’ –and $_.snmpenabled -eq $True }|select name,protocol,description,printerhostaddress, snmpenabled, SNMPCommunity
Если проверка настроек SNMP не помогла вывести принтер из автономного режима, следует проверить следующие параметры.
- Проверьте, что в настройках порта печати указан правильный IP адрес принтера;
- Проверьте, что для порта печати используется тип “Standard TCP/IP Port”, а не “WSD Port”;
- Убедитесь, что ваши файерволы не блокирует SNMP трафик (порты 161/UDP и 162/UDP);
- Полностью удалите и пересоздайте принтер и порт печати. Переустановите драйвера принтера;
- Перезапустите службу spooler;
- Вы можете полностью отключить SNMP опрос для всех принтеров, создав в ветке реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print
новый ключ типа DWORD с именем SNMPLegacy и значением 1.