Трудно представить себе офис, обходящийся без принтеров. Всюду что-то да печатают.
Однажды клиентам понадобилось наладить печать из удаленного офиса для пользователя, который заходит терминально на сервер. Все было хорошо, принтер нормально печатал, как что то в его бюджетной голове пошло не так и печатать из сеанса удаленного подключения он отказался наотрез.
Пришлось выезжать на место и бороться с ним. На сервере стоит Windows 2003 r2 x64, драйвера для 64-х битных операционных систем были приняты нормально, а вот с 32-х битными возникли сложности. В ходе перебора разных версий драйверов с сайта производителя принтера «упала» подсистема печати на сервере. На все попытки как то ее реанимировать я получал только сообщение «Подсистема печати недоступна», что наводит на мысли о поврежденном/несовместимом драйвере.
Мало того, что сервер является контроллером домена и сервером печати, так на нем еще и 1С работает. Это я к тому, что перезагружать его нет никакой возможности, да и «падшая» подсистема печати унесла за собой в могилу все принтеры в офисе.
Значит нужно восстановить работоспособность сервера без перезагрузки и в максимально сжатые сроки.
Итак, приступим. Информация о подсистеме печати хранится в реестре, в ветках:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print
Перед тем, как начать работу – экспортируем их и сохраняем, теперь идем туда, где описаны драйверы печатающих устройств, установленных в системе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x86\Drivers\Version-3 (или 2) HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows NT x64\Drivers\Version-3 (или 2)
Ищем там описание недавно установленного драйвера и удаляем его, после чего удаляем упоминания о принтере из веток
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Monitors
Так же стираем и упоминание о самом принтере из:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printer HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Print\Printers
Закрываем редактор реестра, проверяем запущена ли служба «Диспетчер очереди печати», если нет, запускаем. Все, дело сделано.
Мораль: не используйте на работе дешевые GDI-принтеры, если хотите печатать из терминала и по сети.
На этом все. Спасибо за внимание! Если статья оказалась полезной - поделись ссылкой с друзьями - кнопки ниже!