• 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