Microsoft Terminal Services - Практика использования Easy Print

Минимальные требования для клиентских ПК для использования универсального драйвера печати Easy Print таковы:

  • Microsoft Windows XP SP3, Microsoft Windows Vista SP1, Microsoft Windows 7
  • Средство подключения к удаленному рабочему столу (RDP Client) версии не ниже 6.1 (6.0.6001)
    Этот компонент распространяется в составе SP3 для Windows XP и SP1 для Windows Vista
  • Microsoft .NET Framework 3.0 с пакетом обновления 1 (SP1) (можно использовать Microsoft .NET Framework 3.5)
    Распространяется через WSUS, хотя может быть установлен и вручную.

Далее...при подключении клиента к серверу в свойствах RDP клиента на закладке "Локальные ресурсы" должно быть включено перенаправление принтеров.

image

Обратите также внимание на то, что в свойствах учётной записи пользователя в домене (Закладка "Среда") должны быть включены опции "Подключение принтеров при входе" и "По умолчанию выбрать основной принтер клиента". Это грабли на которые я сам однажды наступил )))

image

Поведение системы печати служб терминалов Windows Server 2008 по умолчанию предполагает использование драйвера Easy Print для всех клиентских принтеров.

Практика показала что не во всех случаях драйвер Easy Print работает корректно (например при некоторых сценариях съезжают поля при печати документов или вовсе не печатаются некоторые печатные формы из 1С). Для решения этой проблемы на наших терминальных серверах мы изменили настройки системы печати по умолчанию на следующий режим работы: при подключении клиента к серверу служба печати сначала пытается найти родной драйвер для каждого принтера клиента, если находит - использует его, если не находит использует для этого принтера драйвер Easy Print.

На сервер установлены последние версии драйверов основных используемых моделей принтеров. Для более корректного взаимодействия служб печати клиента и сервера рекомендуется использовать одинаковые версии драйверов на сервере и на клиенте.

Разрешение проблем в работе Easy Print на Windows Server 2008 / 2008 R2

В случае проблем с перенаправлением принтеров клиента в терминальную сессию с помощью Easy Print необходимо выполнить нижеописанный ряд проверок:

  • Проверяем есть ли на клиентском компьютере требуемая для работы Easy Print версия .NET framework.
  • Проверяем на клиенте то, что в свойствах запускаемого RDC клиента (mstsc.exe) включена опция перенаправления принтеров клиента на закладке "Локальные ресурсы". Если вместо клиента мы запускаем настроенный RDP ярлык то открываем его в текстовом редакторе и убеждаемся в том что присутствует опция перенаправления принтеров клиента в виде строки: redirectprinters:i:1
  • Проверяем свойства доменной учетной записи пользователя. Как было отмечено ранее, в свойствах учётной записи пользователя в домене (Закладка "Среда") должны быть включены опции "Подключение принтеров при входе" и "По умолчанию выбрать основной принтер клиента".
  • Проверяем как сконфигурированы групповые политики влияющие на Easy Print на терминальном сервере. Соответствующий раздел GPO можно найти по пути: Computer Configuration -> Administrative templates -Windows Components -> Remote Desktop Services > Remote Desktop Session Host -> Printer Redirection.
    Опция "Use Remote Desktop Easy Print printer driver first" должна быть включена для работы редиректа принтеров с приоритетным использованием драйвера Easy Print или выключена в том случае если вы хотите использовать специально установленные драйвера принтеров на сервере.

    image

  • Проверяем конфигурацию терминального сервера (оснастка "Remote Desktop Configuration Tool" или  tsconfig.msc) на предмет того, что опция редиректа “Windows Printer” не отмечена как отключенная.
  • Проверяем что и на клиенте и на сервера запущена служба очереди печати (spooler service). Если служба запущена то проверяем корректность установленных прав на данную службу. Ниже приведен пример того как должны выглядеть правильные настройки безопасности службы очереди печати:

    C:>sc sdshow spooler
    D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)

    Если вывод команды отображения настроек безопасности отличен от указанного, например отсутствуют разрешения в дескрипторе безопасности для “AU” (Authenticated User), то устанавливаем необходимые для корректной работы службы права следующей командой

    C:> sc sdset spooler D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)
    [SC] SetServiceObjectSecurity SUCCESS

    После установки разрешений необходимо перезагрузить компьютер.

  • Если подключение клиента производится через RD Gateway проверяем что на сервере RD Gateway выключена опция запрета перенаправления клиентских принтеров.
  • Если у клиента большое количество принтеров и они перенаправляются в ограниченном количестве, то стоит обратить внимание на значение ключа реестра  MaxPrintersPerSession (REG_DWORD) в ветке  HKLMSoftwarePoliciesMicrosoftWindows NTTerminal Services. По умолчанию это значение равно 20 (т.е. не больше 20 принтеров на одну сессию).

Дополнительные ссылки:

  • Некорректная печать документов содержащих страницы со смешанной ориентацией.
    Article ID: 954744 - Last Review: November 11, 2008 - Revision: 1.0
    FIX: Some pages are printed in the incorrect orientation when you use Terminal Services Easy Print to print a document that contains both portrait-oriented pages and landscape-oriented pages
    http://support.microsoft.com/kb/954744
  • Некорректная печать документов в формате PDF.
    Article ID: 970603 - Last Review: June 22, 2009 - Revision: 1.0
    The content of a printout is different when you print a PDF document by using Terminal Services Easy Print in a Terminal Services (TS) session in Windows Vista or Windows Server 2008
    http://support.microsoft.com/kb/970603
  • Некорректная печать полей страниц документов.
    Article ID: 959442 - Last Review: December 23, 2008 - Revision: 1.0
    The edges of a document are truncated when you try to print the document by using Terminal Services Easy Print from a client computer that is running Windows XP SP3, Windows Vista SP1, or Windows Server 2008
    http://support.microsoft.com/kb/959442
  • Не работает печать на перенаправленных принтерах если роль терминального сервера установлена на контроллере домена.
    Article ID: 968605 - Last Review: March 4, 2009 - Revision: 1.0
    Terminal Server Easy Print not printing
    http://support.microsoft.com/kb/968605/EN-US

Использованный материал:
Remote Desktop Services (Terminal Services) Team Blog : Using Remote Desktop Easy Print in Windows 7 and Windows Server 2008 R2

Всего комментариев: 23 Комментировать

  1. Igor /

    Computer Configuration -> Administrative templates -Windows Components -> Remote Desktop Services > Remote Desktop Session Host -> Printer Redirection.

    И где эту хрень искать если у меня русская винда стоит?

    1. Алексей Максимов /

      Конфигурация компьютера > Административные шаблоны > Компоненты Windows > Службы удалённых рабочих столов > Узел сеансов удаленных рабочих столов > Перенаправление принтеров

      1. Максим /

        Алексей, скажите, что по вашему мнению может приводить к периодическому отказу службы диспетчера печати на server 2008 enterprise. используется терминальный сервер для работы с 1С. Установлены 4 сетевых принтера HP M1120n MFP + 3 общих принтера HP M1005 MFP установленных на локальных машинах. Драйвера стоят и на клиентских машинах и на серваке. Ранее проблему частично удалось решить при помощи screwdrivers4, но всёравно это не выход, диспетчер печати периодически отскакивает и восстановить работу удаётся лишь сначала выключив все принтеры в сети, потом перегружаем сервак и только потом вкл принтеры и начинаем работать. заранее благодарен.

  2. Николай /

    В терминале Windows Server 2008 R2 работает 1С 7.7.027 файловая .Драйвера клиентского принтера на сервере не установлены.Печать идет через EasyPrint нормально,кроме штрих-кода (отображается и печатается !510).Специальный шрифт eang000.ttf установлен и на сервере и у пользователей.Может ли установка драйвера принтера (Canon)на сервере решить эту проблему?

    1. Алексей Максимов /

      Установка драйверов Canon проблему с печатью barcode шрифта возможно и решит, но может принести и другую проблему, более серъёзную. Ещё в то время когда я работал c терминальным сервером на Windows Server 2003 установка драйверов от Canon LBP-810 и LBP-1120 приводила со временем всю систему в целом в неработоспособное состояние. При установке драйверов от этих моделей устанавливалось приложение (без которого драйвер попросту не работал), которое запускалось в каждой пользовательской сессии, а после завершения пользовательского сеанса оно ещё и не выгружалсь из памяти. Избавиться от проблем удалось только после замены на таких клиентах принтеров на HP.

      1. Николай /

        Большое спасибо за совет!

  3. Алексей Максимов /

    Максим :

    Алексей, скажите, что по вашему мнению может приводить к периодическому отказу службы диспетчера печати на server 2008 enterprise.

    Причины могут быть совершенно разные. Не вижу связи ваших проблем с Easy Print.

    Думаю Вам также можно задать этот вопрос в Форумы TechNet: http://social.technet.microsoft.com/Forums/ru-RU/ws2008ru/threads

  4. Алексей /

    Как добраться до настроек безопасности службы очереди печати?

    Ниже приведен пример того как должны выглядеть правильные настройки безопасности службы очереди печати:

    C:>sc sdshow spooler
    D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)

    1. Алексей Максимов /

      Не совсем понял что это...Вопрос? Что значить "добраться"? Вы хотите получить сведения об установленных разрешениях или изменить эти самые разрешения?

      1. Алексей /

        Просто не могу понять что это
        "C:>sc sdshow spooler
        D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)"

        где это смотреть?

  5. Алексей /

    спасибо)) сам разобрался

  6. Алексей /

    Еще вопросик..

    У меня на сервере и на клиенте при просмотре "sc sdshow spooler" - данные одинаковые, но отличаются от ваших. Стоит менять на Ваши?

    1. Алексей Максимов /

      Желательно чтобы присутсвовало разрешение (A;;CCLCSWLOCRRC;;;AU). Остальное может зависеть от ваших конкретных настроек безопасности самостоятельно установленных на спулер. Вот например вывод разрешений с одного моего работающего сервера RDS на Windows Server 2008 R2:

      D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

      Это разрешения которые установлены в конфигурации по умолчанию, то есть специально я их не менял. Вообще стоит отметить что разрешения на службу печати в новых системах можно посмотреть/изменить и через GUI (Панель управления > Оборудование > Устройства и принтеры > Свойства сервера печати - Закладка "Безопасность"). У группы "Все" или же у группы "Прошедшие проверку" как минимум должны быть включены разрешения "Печать" и "Просмотр сервера".

  7. Proton /

    Словили интересный прикол: со временем, у некоторых клиентов перестают мапиться их принтеры. Два дня работают, на третий перестают. Пустой список. Что ни делал - не помогает. Нашли такое решение: на сервере, достаточно удалить профиль пользователя, пока он в офф-лайне. И, вуаля! Принтеры начинают мапиться, до следующего раза. Используется 1с82, в ремоте апп режиме. От модели и марки принтера не зависит. Не помогает даже перезагрузка сервера. В то время как при удалении профиля, она даже не требуется. Вот что это за фигня? Хоть профиль не хранить на сервере. Опять таки будет обидно, там настройки интерфейса, да и формироваться при входе каждого клиента, он будет не 2 секунды.... что же делать, как же быть ???

  8. Proton /

    Похоже дело в том, что 1с если у клиента нет принтера с признаком "использовать по умолчанию" (отвалился или еще что то), не видит остальные принтера. По крайней мере не даёт ими воспользоваться. Требуется выставить принтер по умолчанию любым способом - и помогает.

  9. Евгений /

    Спасибо, помогло!!

  10. Denis Urasov /

    Опция "Use Remote Desktop Easy Print printer driver first" должна быть включена для работы редиректа принтеров с приоритетным использованием драйвера Easy Print или выключена в том случае если вы хотите использовать специально установленные драйвера принтеров на сервере.

    Это очень полезная информация. У меня HP M1120 MFP пробрасывался в терминальную сессию, но печатать отказывался, т.к. использовал Easy Print printer driver, несмотря на то, что драйвера правильные были установлены на сервере. Отключение политики привело к тому, что драйвер после пробрасывания использовался правильный и печать происходила правильно. Спасибо за информацию.

  11. Александр /

    По поводу отвала принтеров возможно из-за кривых драйверов или кривой службы печати на компьютере НЕ ЗАБЫВАЙТЕ про изоляцию драйверов принтеров и их установке независимо от easyprint Но как показывает практика лучше HP (Win2003/2008 PCL5-PCL6) или сетевых принторов для RDP решений нет.

  12. Scorpion /

    Хочу не согласиться с мнением про Net.Framework для WinXP. Без необходимости его устанавливать не надо, кроме принтеров он тянет в RDP еще кучу мелочей, которые просто утолщают канал соединения, что отрицательно влияет на скорость обмена клиент-сервер. Суть установки Net.Framework заключается в установке XPS драйверов, вот без них Easy Print и не будет работать. Но их можно установить и другими путями, например, с 2007-2010 офисом от мелкософта или путем использования драйверов сторонних производителей, например HP. Об установленном драйвере известит появление нового принтера Microsoft XPS Document Writer. При наличии в системе этого принтера и не установленном Net.Framework доставлять ничего не надо, и так Easy Print будет работать.
    А в целом хорошо написано, доходчиво, грамотно и с разных сторон рассмотрено.

  13. Scorpion /

    Что касается печати штрихкодов из 1С (не важно 7 или 8), то надо установить утилиту 1CBarCode.exe. Для отображения на экрпне достаточно установить шрифт barcode.

  14. Олег /

    Отличная статейка и даже коменты не поленился почитать.
    Хотелось бы дополнить интересными фактами:
    1. Всё описанное применимо и к 2012 серваку, за исключением tsconfig.msc.
    2. В моём случае мне пришлось применить гибридную систему печати. Попробую объяснить как это.
    У меня в конторе много сотрудников, которые подключаются к RemoteApp (9 городов из 2-х стран). Оси и разрядность у всех разные: от XP до современной десятки. Принтеры также разные - от домашнего типа до корпоративного. В чём конкретика. Например, есть удалённый сотрудник с принтером HP LJ P1102 (это дешёвый аппарат домашнего типа), этот принтер не захотел работать через Easy Print. Соответственно мне пришлось и на серваке и на удалённом клиенте поставить одинаковый принтер. А в другом городе у меня есть несколько сотрудников с дешёвыми и убогими принтерами Kyocera (FS-1025MFP, FS-1120MFP, FS-1125MFP, и FS-1060DN), эти принтеры захотели работать только с драйвером Easy Print.
    Что в итоге получилось: в локальной групповой политике я указал использовать драйвера, если они есть, в противном случае Easy Print и в итоге всё вроде как заработало как часики.
    Может кому-то пригодится эта инфа.
    Жизнь админа должна быть проще...

  15. Алексей /

    Добрый день. Печать не работает, сколько не бьюсь. Принтеры редиректятся,но при печати документ уходит в никуда и тишина. Куда капать не подскажите?

  16. Ярослав /

    Добрый день. Столкнулся с аналогичной проблемой. Easy Print - принтера мапятся, но печать улетает в никуда, настройки таковы, что если установлен драйвер принтера в первую очередь берется он, если драйвера нет, используется Easy Print. До начала октября текущего года все было хорошо, но сейчас проблема актуальна.

Добавить комментарий