При работе через RDP, на Windows Server 2008 и выше, у многих пользователей часть принтеров печатает нормально, а некоторые не печатают. Чаще всего, такая ситуация, возникает из-за несовместимости некоторых принтеров со встроенным, в Windows Server, драйвером Easy Print.
Для решения данной проблемы, мы укажем системе, в первую очередь использовать родной драйвер, а если его нет, то драйвер Easy Print.
1) Запускаем «Редактор групповой политики»
«Пуск» → «Выполнить» → «gpedit.msc»
2) Переходим в следующий раздел:
В Windows Server 2008 R2
«Конфигурация компьютера» → «Административные шаблоны» → «Компоненты Windows» → «Службы удаленных рабочих столов» → «Узел сеансов удаленных рабочих столов» → «Перенаправление принтеров»
или (в разных версиях по разному)
«Конфигурация компьютера» → «Административные шаблоны» → «Компоненты Windows» → «Службы терминалов» → «Сервер терминалов» → «Перенаправление принтеров»
3) Меняем значение параметра «Использовать в первую очередь драйвер принтера Easy Print служб терминалов» на «Отключена»
4) Осталось вручную установить на сервер драйверы от принтеров, которые не работают у пользователей.
Как решить проблемы подсистемы печати в терминальном сервере
Время на прочтение
3 мин
Количество просмотров 285K
Приветствую, %habrausername%!
Сегодня я бы хотел поделиться своим опытом устранения проблем печати на терминальном сервере Microsoft.
Подробности под катом.
Вместо Intro
Наверняка, почти каждый системный администратор, работающий с Windows и, в частности, с терминальным сервером, сталкивался с проблемами печати.
Разрывается телефон, у всех одна и та же проблема: «Нажимаю на печать — ничего не происходит!». Идем смотреть логи и видим следующую картину:
Знакомо? Никаких подробностей, ничего — гадайте, господа администраторы! На форумах в интернете полно вопросов по этой теме и очень мало полных, структурированных ответов. Что ж, попробуем собрать в кучу все варианты решений.
Причины и решения
Итак, из-за чего может происходить подобная ситуация? Большую часть подобных ситуаций вызывают установленные на сервере драйверы.
- Необходимо помнить, что драйверы у клиентов и на сервере должны быть идентичны
- Убедитесь, что включена изоляция драйверов
- Удалите все драйвера на сервере и попробуйте использовать TS Easy Print
- Попробуйте решения сторонних компаний
А теперь пройдемся подробнее по всем пунктам. Для начала установим на наш терминальный сервер роль «Службы печати и документов».
Это позволит нам удобно управлять драйверами и принтерами, установленными в системе.
Идентичные драйвера
Думаю, тут особо не о чем рассказывать. Стоит помнить, что драйвера необходимо брать с официальных страниц изготовителя принтера. Так же еще один момент — стабильнее всего ведут себя PCL5. Если есть возможность выбора между PCL5 и PCL6 — стоит установить PCL5 (соответственно, серверу и клиенту).
Изоляция драйверов
В Windows 2008 появилась замечательная возможность изоляции драйверов принтера. Теперь драйвер принтера подгружается не Spoolsv.exe а специальным процессом PrintIsolationHost.exe. При «вылетании» драйвера принтера «слетает» только один экземпляр PrintIsolationHost.exe, а сама служба «Диспетчера печати» остается работоспособной, что, как понимаете, весьма влияет на настроение пользователей
Чтобы включить данную возможность, нам необходимо открыть редактор локальной групповой политики (gpedit.msc) и пройти следующим путем: «Параметры компьютера -> Административные шаблоны -> Принтеры». Находим и включаем следующие пункты:
- Выполнить драйверы принтеров в изолированных процессах
- Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати
Будет выглядеть следующим образом:
TS Easy Print
Видимо, вняв наконец стенаниям системных администраторов, компания Microsoft решила что-то сделать с необходимостью ставить зоопарк драйверов на терминальный сервер и падающим из-за этого spoolsv.exe. В итоге, на свет родилась технология TS Easy Print. Ключевой особенностью является, то, что больше нам не нужно устанавливать на сервер драйвера для каждого принтера — вместо этого используется унифицированный драйвер Remote Desktop Easy Print, соответственно, мы уходим от проблемы падающего спулера — ведь все операции с печатью выполняются на компьютере клиента.
Для того, чтобы явно определить, что мы хотим использовать на терминальном сервере TS Easy Print, необходимо пройти опять же в редактор локальной групповой политики (gpedit.msc) по следующему пути: «Параметры компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров». Нас интересуют следующие пункты, которые надо включить:
- Использовать в первую очередь драйвер принтера Easy Print удаленного рабочего стола
- Перенаправлять только используемый по умолчанию принтер клиента
Второй пункт необходим, если мы хотим, чтобы в терминале у клиента был только его принтер по умолчанию.
Далее, необходимо очистить наш сервер от лишних драйверов принтеров. Это можно сделать в менеджере роли «Службы печати и документов».
Внимательно удаляйте драйвера! Необходимо оставить в живых такие вещи, как «Remote Desktop Easy Print» и «Microsoft XPS Document Writer». Именно они и отвечают за передачу печати на клиента.
Теперь перейдем к требованием на клиенте. Их всего два — использование протокола RDP версии не ниже 6.1 и .NET Framework 3.0 с пакетом обновления 1 (SP1). Больше от них ничего не требуется.
Решения сторонних компаний
Избавиться от проблемы падающего спулера призваны такое ПО как, например, ScrewDrivers (сайт). Оно предоставляет клиент-серверную архитектуру.
Сервер ScrewDrivers — это компонент, который необходимо установить на серверы, на которых планируется использовать печать в терминальном сеансе. Клиент ScrewDrivers должен быть установлен на рабочих станциях. Именно этот компонент позволяет создать на терминальном сервере виртуальные принтеры, которые соответствуют локальным принтерам пользователя.
В целом, напоминает Easy Print, но не бесплатно (впрочем, есть лекарства ;).
Заключение
На этом хочу откланяться. Возможно информация не полная — буду рад услышать дополнения. Надеюсь, это поможет кому-то избежать часов нервотрепки
Удачи!
Что делать, если принтер не хочет печатать из под RDP? Выключение и включение принтера или очистка очереди печати не помогает, пробуем следующие шаги:
Щелкаем правой кнопкой мыши по RDP-файлу. В открывшемся окне «Подключение к удаленному рабочему столу» переходим во вкладку «Локальные ресурсы», в разделе «Локальные устройства и ресурсы» проверяем, отмечена ли галочка «Принтеры», если не отмечена, то отмечаем. Далее щелкаем по кнопке «Подробнее…» и проверяем отметки портов, как показано на скриншоте, после чего нажимаем «ОК».
Если вы используете для проброса принтеров приложение «ThinPrint» клиент, то смотрим шаг 2, если не используем «принт клиент», то пропускаем следующий шаг.
Шаг 2. Проверяем настройки проброса в приложении ThinPrint
Находим в трее значок ThinPrint, щелкаем по нему правой кнопкой мыши. В появившемся меню нажимаем «Reload Printers» — для перезагрузки подключенных принтеров. Если это не помогает, нажимаем «Configure» — для настройки проброса принтеров.
В открывшемся окне находим раздел «Current printer» (текущие принтеры) и проверяем, отмечена ли настройка «Default at server» (Использовать по умолчанию для сервера).
В этом же разделе доступно еще два параметра — «Inherit system’s default printer» (использовать принтер, который задан в системе по умолчанию) и «Use this printer» (Использовать следующий принтер). Если принтер в системе, с которого хотим печатать задан по умолчанию, оставляем первую настройку, иначе выбираем вторую, при выборе которой список принтеров станет активным, просто выбираем нужный принтер и нажимаем «ОК».
На этом настройка ThinPrint закончена, перезаходим в RDP и проверяем печать, если проблема сохраняется, переходим к 3 шагу.
Шаг 3. Отключаем драйвер принтера Easy Print
Если предыдущие шаги не помогли, скорее всего ваш принтер не поддерживает печать через Easy Print. Нужно выполнить настройку, чтобы система, в первую очередь использовала родной драйвер от принтера, вместо Easy Print драйвера.
Для отключения Easy Print необходимо перейти в «Редактор локальной групповой политики», для этого щелкаем клавиши на клавиатуре «Win+R» и в открывшемся диалоговом окне «Выполнить» набираем команду «gpedit.msc», после чего нажимаем на клавиатуре «Enter».
Далее в окне «Редактор локальной групповой политики» переходим в «Конфигурация пользователя» — «Административные шаблоны» — «Компоненты Windows» — «Службы удаленных рабочих столов» — «Узел сеансов удаленных рабочих столов» — «Перенаправление принтеров».
Находим параметр «Использовать в первую очередь драйвер принтера Easy Print служб терминалов» и меняем его на «Отключено».
Перезаходим в терминал и проверяем. Обычно последний шаг решает проблему с недоступностью печати. Если вам это не помогло, пишите в комментариях, будем разбираться вместе.
- Remove From My Forums
-
Вопрос
-
Имеется сервер с Windows Server 2012, рабочая станция с Windows 7, принтер Samsung CLX-2160 подключённый через USB к этой рабочей станции.
При подключении через RDP к этому серверу, при печати любой страници, печать не происходит.
Прошу помочь с настройкой печати данного принтера через RDP, или подсказать список принтеров работающих в терминальном режиме с Windows Server 2012.
Все ответы
-
Что происходит если отправить документ на печать из сервера при локальном доступе?
Вариант 1. Откройте общий доступ к принтеру и подключите его к серверу, сопровождая процедурой обновления драйверов данного устройства. Убедитесь в том, что права на печать добавлены для необходимых пользоватетей.
Вариант 2. Перезапустите службу «Диспетчер печати»
и переустановите принтер на сервере.Вариант 3. В свойствах подключения к рабочему столу, вкладка «Локальные ресурсы» проверьте установлен ли чекбокс на пункте «Принтеры»
-
Изменено
23 сентября 2013 г. 11:27
-
Изменено
-
Речь шла о том, что при подключении рабочей станции через терминальный доступ к серверу установленный, на данной рабочей станции принтер, должен становиться доступным в терминальном сеансе.
Вот по этому вопросу я хочу получить ответ.
-
Всё выше Вами описанное было сделано, результат равен нулю.
Остаётся открытым вопрос или о совместимости данного принтера с данной ОС Windows Server 2012, или же о неких дополнительных действиях, которые нужно произвести.
-
Есть топик на похожую тему Тут
Попробуйте отключить Microsoft’s Easy Print Remote Desktop driver
Computer Config -> Admin Templates -> Windows Components -> Remote Desktop Services -> RD Session Host -> Printer Redirection
-> Use Remote Desktop Easy Print printer driver first –> disabled. -
В разделе «Перенаправление принтеров» у каждой строчки — Состояние «Не задана».
Вопрос остаётся открытым.
-
Предложено в качестве ответа
Petko KrushevMicrosoft contingent staff, Moderator
23 сентября 2013 г. 12:53 -
Изменено
Serjerry
23 сентября 2013 г. 13:05 -
Отменено предложение в качестве ответа
Petko KrushevMicrosoft contingent staff, Moderator
24 сентября 2013 г. 6:19
-
Предложено в качестве ответа
-
Повторю вопрос:
Что происходит если отправить документ на печать из сервера при локальном доступе?
-
К серверу на данный момент подключен принтер Xerox WorkCentre 3045B, на него печатает без проблем. Подключить локально принтер Samsung CLX-2160 не представляется
возможности, поскольку рабочая станция с подключенным к ней принтером находятся по другому адресу.-
Изменено
Serjerry
25 сентября 2013 г. 7:00
-
Изменено
-
Есть топик на похожую тему
ТутПопробуйте отключить
Microsoft’s Easy Print Remote Desktop driverComputer Config -> Admin Templates -> Windows Components -> Remote Desktop Services -> RD Session Host -> Printer Redirection
-> Use Remote Desktop Easy Print printer driver first –> disabled.пробовали?
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется «как есть» без каких-либо гарантий. Не забывайте помечать сообщения как ответы и полезные,
если они Вам помогли. -
Да. Версия Windows стоит русская.
В разделе «Перенаправление принтеров» у каждой строчки — Состояние «Не задана», то есть
disabled. -
у меня аналогичная проблема:
принтер HP LaseJet 2035 подключен по USB к ноутбуку с Win 7 Home. Драйвер (х64) с оф.сайта HP.
Локально все работает нормально.
Подключаюсь к удаленному рабочему столу к Win 7 Ultimate.
С удаленного рабочего стола принтер виден через Easy Print. Можно посмотреть свойства, настройки.
При печати ничего не происходит. (не печатает, сообщений об ошибках не выдает, очередь печати — пустая)
При печати пробной страницы получаю сообщение: «печать пробной страницы неправильная» (дословно не помню) и предлагает поиск проблемы.
Автоматический поиск проблемы говорит, что проблема не обнаружена.заранее благодарен за участие
-
установить одни и те же драйвера на локальную машину и на сервер. отключить изипринт. в редиректе принтеров задать проброс только используемого по умолчанию и на локальной выбрать нужный.
как вариант: расшарить принтер на локальной машине и подключить его в сеансе сервера по этой шаре. Это как и крайнее решение и как проверка работоспособности принтера в среде 2012
-
«Не задана» НЕ РАВНО «Disabled»
21.02.2018, 11:50. Показов 151339. Ответов 1
Приветствую Вас, уважаемые коллеги и участники форума.
В данной теме опубликована информация по базовой настройке печати из удаленного рабочего стола через RDP, или RemoteApp на локальный компьютер.
Для Windows XP
Прежде, чем настраивать удаленную печать через RDP на Windows XP, необходимо установить в систему (либо убедиться, что установлены) следующие компоненты:
1. Система должна быть обновлена до SP3 (подходит исключительно для 32-битных версий).
2. Скачать и установить Windows Installer 4.5
3. Скачать и установить Microsoft .NET Framework 4
4. Обновить версию клиента RDP RDP клиент 7.0.zip.
Для Windows 7
Желательно обновить протокол клиента RDP до версии 8.1:
Для всех поддерживаемых 86-разрядных версий Windows 7 — Скачать пакет
Для всех поддерживаемых 64-разрядных версий Windows 7 — Скачать пакет
Как узнать текущую версию протокола RDP
Для Windows 8/8.1/10
Для данных операционных систем желательно выполнить установку платформы .NET Framework 3.5
После завершения установки всех требуемых компонентов перезагружаем компьютер и переходим к следующему этапу.
Настройка клиента RDP (для версий Windows XP и выше)
1. Необходимо проверить, что в настройках RDP-подключения настроен проброс локальных ресурсов до сервера.
Для этого необходимо зайти в свойства RDP-подключения, перейти на вкладку «Локальные ресурсы» и поставить галочку на «Принтеры».
Рис.001
2. Заходим в «Панель управления — > Устройства и принтеры», выбираем нужный принтер и делаем его «По умолчанию».
Рис.002
Если Ваш принтер поддерживает технологию «EasyPrint», тогда настройка завершена и можно приступать к печати документов с удаленного рабочего стола.
Если Ваш аппарат не поддерживает технологию «EasyPrint», тогда приступайте к следующему пункту.
Настройка службы печати Windows Server 2008/2012
1. Необходимо добавить на сервере роль «Службы печати документов». Переходим в «Пуск -> Диспетчер сервера — > Роли — > Добавить роли — > Служба печати (ставим галочку) -> Далее — > Установить».
По завершению установки необходимо перезагрузить сервер.
2. Далее заходим в «Диспетчер сервера — > Конфигурация — > Локальные пользователи и группы — > Группы — > Операторы печати (print operators)» и добавляем учетные записи пользователей, которым необходим доступ к удаленной печати.
Рис.006
3. Завершаем сеанс через «Пуск -> Завершение сеанса», либо через командную строку командной logoff.
4. Скачиваем драйвера с сайта производителя принтера/МФУ и распаковываем его любым архиватором.
5. Снова открываем «Диспетчер сервера — > Сервер печати — > Ваш ПК (с которого подключаетесь)», далее добавляем драйвер на сервер.
Настройка сервера завершена.
Настройка TS Easy Print Windows Server 2008/2012
Технология TS Easy Print является альтернативой стандартной службе печати, которая используется в Windows Server 2008/2012, и также применяется к принтерам не поддерживающими технологию «EasyPrint».
Внедрение TS Easy Print не требует установки ролей и компонентов, настройки сервера или рабочей станции пользователя.
Необходимо наличие у клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше), а это значит, что данная технология применима к клиентским машинам с установленной Windows XP.
Преимущество данной технологии в том, что она использует формат файла Microsoft XML Paper Specification (XPS), который передается на компьютер пользователя и отправляется на печать, используя локальный драйвера принтера, а значит, предустанавливать драйвера принтера на сервере нет никакой необходимости.
Итак, приступим.
1. Для того, чтобы включить данную технологию на сервере необходимо зайти в редактор групповых политик gpedit.msc.
2. Далее перйти по «Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы удаленных рабочих столов\Узел сеансов удаленных рабочих столов\Перенаправление принтеров».
Рис.012
3. Как показано на риснуке, нам необходимо выставить следующие значения:
— Перенаправлять только используемый по умолчанию принтер клиента — вкл.
— Использовать в первую очередь драйвер принтера Easy Print — отк.
4. Далее выполняем настройку изоляции драйверов печати.
Для этого перейдем в раздел редактора групповых политик: «Конфигурация компьютера\Административные шаблоны\Принтеры».
Рис.013
5. Правим следующие значения:
— Выполнять драйвера принтеров в изолированном виде — вкл.
— Переопределить параметр совместимости выполнения драйвера печати , сообщенный драйверов печати — вкл.
6. Для корректной работы технологии TS Easy Print необходимо, чтобы на сервера был установлен принтер Microsoft XPS Document Writer.
Настройка TS Easy Print завершена.
Дополнительно (из личного опыта)
1. В редких случаях, для корректной печати через RDP требуется добавить ip-адрес удаленного сервера и порт 3389 в исключения брандмауэра (если он включен), антивируса и прочих сторонних файрволлов установленных в системе на клиентских ПК. Тоже самое для сетевых принтеров – добавляем ip-адрес в исключения на локальном компьютере.
2. Для принтеров HP, в случаях, если родного драйвера нет под Windows Server, а драйверы от других редакций Windows не подходят, можно скачать универсальный драйвер печати HP
3. Для стабильной печати с удаленного рабочего стола, помимо Windows XP, следует обновить RDP-клиент до последней версии, предварительно отключив антивирус.
4. Удаленная печать может не работать с некоторыми моделями принтеров Xerox и Samsung, после залития на них кастомных прошивок (которые служат для обхода наличия чипа картриджей).
5. Для стабильной работы как на сервере, так и на локальном ПК, следует выставить службу «Диспетчера печати» в автоматический запуск и перезапуск в случае сбоев во всех трех случаях, интервал перезапуска на – 0 мин. (в свойствах службы).
6. Если серверая ОС имеет битность х64, то для 32-битных систем на клиентских ПК, в свойствах принтера, на вкладке «Доступ — >Дополнительные драйверы», нужно доустановить драйверы под х64.
Пункты 1, 3, 5 и 6 при настройке печати через RDP я делаю обязательно, чего и Вам рекомендую, дабы избежать проблем в дальнейшем.
Альтернативный метод печати с удаленного компьютера (для сетевых принтеров)
Данный способ подойдет для объединенных в пул принтеров, либо в случаях, если установлена «КастомСборка», заменить которую на оригинальный дистрибутив по-разным причинам не представляется возможным.
1. Первым делом, нам потребуется статический ip-адрес от провайдера по месту нахождения клиентского ПК и принтера.
Думаю, для тех, у кого нет возможности переустановить старую версию ОС на новую (например, из-за устаревшего спецсофта, дистрибутивы которых утеряны), вопрос с приобретением статического IP не будет проблемой.
2. На сетевом принтере также должен быть статический ip, т.е. не выданный по DHCP.
3. Далее в настройках маршрутизатора со стороны клиента, в разделе NAT для входящих (и, если потребуется, для исходящих) подключений, нужно пробросить порт до принтера.
Например, локальный ip-адрес принтера 192.168.0.10, номер порта можно указать любой свободный, например — 9100.
Т.е. запись NAT будет иметь примерно такой вид IP: 192.168.0.10 Port: 9100
4. Далее, идем на сервер, добавляем принтер, в процессе инсталляции (или после) создаем сетевой порт, указываем статический ip-адрес, который выдал провайдер, например, 12.34.56.78.
5. Далее в свойствах созданного сетевого порта указываем номер проброшенного в маршрутизаторе клиента порт до принтера – 9100.
Рис.010
6. При подключении пользователя по RDP в его сессии остается только выбрать проброшенный нами принтер по умолчанию.
7. В некоторых случаях может потребоваться настройка NAT для исходящих подключений со стороны роутера, по месту нахождения сервера.
Также, альтернативный метод печати с удаенного ПК описан в топике Альтернативное решение для печати на принтеры по сети
Вопросы, дополнения, замечания и пожелания по данной теме просьба выкладывать здесь
6