Печать служб терминалов Windows

Опубликовано: 24 Апреля, 2023

Когда пользователь входит на сервер терминалов Windows с помощью клиента удаленного рабочего стола Microsoft, клиент отправляет информацию о клиентских принтерах на сервер терминалов. Сервер терминалов использует эту информацию для автоматического создания принтеров в сеансе пользователя, которые соотносятся с локальными или сетевыми принтерами пользователя. Если имя клиентского драйвера принтера «точно» совпадает с именем драйвера принтера, установленного на сервере терминалов, или указано в файле ntprint.inf (файл, в котором перечислены драйверы принтеров, встроенные в сервер Windows установка и может быть загружена по запросу) клиентский принтер успешно создан автоматически. Задания на печать, созданные в сеансе пользователя, перенаправляются с сервера терминалов на соответствующий клиентский принтер посредством виртуального канала в протоколе RDP.


Если нет точного совпадения имени между клиентом и драйвером принтера сервера терминалов, автоматическое создание завершается с ошибкой и в журнал системных событий записываются ошибки 1111 и 1106. Для автоматического создания этого клиентского принтера должны выполняться несколько условий:



  1. В клиенте удаленного рабочего стола (mstsc.exe) должны быть включены принтеры.



  1. Если пользователи подключаются через веб-подключение к удаленному рабочему столу (AKA Tsweb), для следующего параметра в файле default.htm должно быть установлено значение «true».

'Параметры перенаправления устройств


MsRdpClient.AdvancedSettings2.RedirectPrinters = Истина



  1. В средстве администрирования настройки служб терминалов (tscc.msc) -> Подключения -> RDP-Tcp -> Свойства не следует отключать сопоставление принтеров Windows, а подключение клиентских принтеров при входе в систему должно быть включено.



  1. В учетной записи пользователя (Active Directory или Windows Local Security Accounts Manager) -> Среда -> Клиентские устройства должен быть включен Подключать клиентские принтеры при входе в систему.



  1. В групповой политике не следует включать параметр «Не разрешать перенаправление клиентских принтеров».



  1. В средстве администрирования служб (services.msc) служба диспетчера очереди печати должна иметь статус «Запущена».



  1. Принтер НЕ ДОЛЖЕН быть принтером на основе хоста (он же GDI или принтер только для Windows). Хост-принтеры, такие как принтеры Hewlett Packard, использующие LIDIL (язык интерфейса облегченных устройств обработки изображений), не будут работать в среде служб терминалов (без стороннего программного обеспечения для печати). Проконсультируйтесь с производителем принтера, чтобы убедиться, что принтер может работать с драйвером PCL или PostScript.
  2. Драйвер принтера на сервере терминалов не должен использовать монитор принтера, т. е. утилиту принтера, загружаемую в области уведомлений рабочего стола Windows пользователя со многими экономичными принтерами. Эти драйверы принтеров не предназначены для работы в многопользовательских средах, таких как службы терминалов Windows.

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



  1. Встроенные в Windows драйверы PCL или PS — версия «Windows 2000, Windows XP и Windows Server 2003»
  2. Драйверы, подписанные WHQL (Лаборатория качества оборудования Windows) — включают логотип «Разработано для Windows»
  3. Драйверы PCL или PS — сертифицированы (производителем) для использования в службах терминалов Windows или Citrix.
  4. Встроенные в Windows драйверы PCL6 — версия «Windows 2000, Windows XP и Windows Server 2003»
  5. Драйверы PCL или PS производителя — версия «Windows 2000, Windows XP и Windows Server 2003»
  6. PCL6 производителя — версия «Windows 2000, Windows XP и Windows Server 2003»
  7. Драйверы режима ядра PCL или PS производителя — версия NT4

Драйверы принтеров, установленные на Windows Server, можно определить с помощью апплета панели управления принтерами и факсами -> Файл -> Свойства сервера -> Драйверы.



Драйверы принтера, использующие драйверы Windows NT 4.0, называются «драйверами режима ядра». Этих драйверов следует избегать, так как, когда они не пройдут проверку на наличие ошибок («Синий экран смерти» или Stop Error), произойдет перезагрузка сервера.



Установку этих драйверов можно предотвратить с помощью следующей политики.



Специальные улучшения версии:



  • Windows 2000 Server SP2 — до 2000 SP2 можно было отредактировать файл ntprint.inf, чтобы изменить процесс автоматического создания клиентского принтера. В 2000 Server SP2 и более поздних версиях файл ntprint.inf имеет цифровую подпись Microsoft и не может быть изменен вручную. Для поддержки принтеров OEM (производителей оригинального оборудования), не перечисленных в файле ntprint.inf (и не установленных на сервере терминалов), можно создать замещающий пользовательский файл inf. Это позволяет указать терминальному серверу автоматически создавать определенные клиентские принтеры (на основе имени драйвера клиентского принтера) со встроенными драйверами принтеров Windows, перечисленными в файле ntprint.inf.

На сервере терминалов должны быть созданы следующие ключи реестра:


HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwd


Имя: Принтермаппингинфнаме
Тип: REG_SZ
Данные: имя INF-файла, на который вы хотите перенаправить поиск.
Пример: c:winntinf tprintsubs.inf


Имя: Принтермаппингинфсектион


Тип: REG_SZ
Данные: имя раздела в файле.inf, в который вы хотите перенаправить поиск.
Пример: принтеры


Ниже приведен формат определяемого пользователем inf-файла:


—————————————————————————————


[Версия]
Подпись=”$ЧИКАГО$”


[Принтеры]
«Имя драйвера принтера OEM» = «Имя драйвера принтера Windows 2000»


—————————————————————————————


Пример:


«Серия HP LaserJet 4200» = «HP LaserJet 4 Plus»


С тех пор Microsoft выпустила «Инструмент перенаправления принтеров на сервере терминалов», чтобы автоматизировать создание записей реестра и INF-файла.



  • Клиент удаленного рабочего стола 5.2.3790 — эта версия клиента удаленного рабочего стола Microsoft (выпущенная с Windows Server 2003) и более поздние версии поддерживают клиентские сетевые принтеры.
  • Windows Server 2003 SP1 — эта версия Windows Server и новее включает «драйвер резервного принтера для сервера терминалов», который можно включить с помощью политики в разделе «Конфигурация компьютера» -> «Административные шаблоны» -> «Компоненты Windows» -> «Службы терминалов» -> «Перенаправление данных клиента/сервера». (или через скрипт).


Драйвер резервного принтера служб терминалов позволяет системе подключать принтеры без установки дополнительных драйверов принтеров на стороне сервера. Политику можно настроить на автоматическое создание неподдерживаемых принтеров с помощью резервных драйверов PCL или Fallback PS. Резервные драйверы обеспечивают только базовые функции и не будут работать со всеми принтерами.


На рисунке ниже показаны четыре принтера, автоматически созданные с помощью резервного драйвера принтера PCL.



Глядя на свойства клиентского принтера, автоматически созданного с помощью резервного драйвера PCL, можно заметить, что используемый драйвер — это драйвер HP DeskJet 500.



Корпорация Майкрософт предоставляет механизм для установки драйвера, который используется для отказоустойчивых принтеров PCL и PS сервера терминалов. Чтобы изменить поведение по умолчанию, можно изменить следующий раздел реестра и ввести нужный драйвер принтера.


HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwd
«FallbackPclDriver» = «HP DeskJet 550C»
«FallbackPsDriver» = «HP Color LaserJet 5/5M PS»


Рекомендации:


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


В организациях с большим количеством пользователей, более чем одним сервером терминалов и необходимостью поддержки любого типа принтера обычно стоит инвестировать в универсальный драйвер принтера или набор продуктов, включающий универсальный драйвер принтера. Использование универсального драйвера принтера может уменьшить или полностью исключить необходимость установки других драйверов принтера на каждый терминальный сервер.


Универсальные драйверы принтеров:



  • Сервер Ingenica UniPrint
  • Предоставление сетей Print-IT
  • Сервер ThinPrint.Print
  • triCerat Упрощение печати

Наборы продуктов, включающие универсальные драйверы принтеров:



  • Citrix Presentation Server 4.x
  • ProPalms TSE (включая сервер UniPrint)
  • Provision Management Framework Standard и Enterprise (включая Print-IT)