вторник, 20 сентября 2011 г.

ИСПОЛЬЗОВАНИЕ ПРИНТЕРОВ В WINDOWS TERMINAL SERVICES


ИСПОЛЬЗОВАНИЕ ПРИНТЕРОВ В WINDOWS TERMINAL SERVICES.



(статья описывает функции печати в Windows Terminal Services, как правильно настроить принтеры для стабильной и эффективной работы в терминальной среде).
 
В момент, когда пользователь тонкого клиента подключается к терминальному серверу с использованием  Microsoft Remote Desktop Client, клиент автоматически передает информацию о подключенных к терминалу принтерах. Терминальный сервер использует эту информацию для автоматического создания принтеров в рамках пользовательской сессии и для того, чтобы установить соотношение между локальными и сетевыми принтерами пользователя. В том случае, если имя драйвера принтера адсолютно точно совпадает с именем драйвера, установленного на терминальном сервере или имя драйвера присутствует в файле ntprint.inf (этот файл устанавливается "по запросу"; в нем перечислены все драйверы принтеров, встроенных в инсталляционный пакет серверного программного обеспечения), клиентский принтер создастся автоматически. В таком случае все документы, выводимые на печать на локальный принтер, подключенный к терминалу пользователя, будут успешно передаваться по виртуальному каналу поверх RDP протокола между терминальным сервером и тонким клиентом.
 
Автоматическое создание невозможно в том случае, когда названия на тонком клиенте ина сервере не совпадают. В логах сервера Вы увидите ошибки 1111 и 1106. В этом случае необходимо соблюдение нижеследующих условий:
1. Необходимо установить возможность использования принтеров в Remote Desktop Client (mstsc.exe).
 
 
2. Если пользователи подключаются с использованием Remote Desktop Web Connection (так называемого Tsweb) такая возможность должна быть прописана и пароаметр должен быть установлен на “true” в файле "default.htm".

Функция перенаправления устройств
 
   MsRdpClient.AdvancedSettings2.RedirectPrinters   = True
 
3. В настройках терминального сервера Administrative Tool (tscc.msc) -> Connections -> RDP-Tcp -> Properties, маппирование Windows Printer не должно быть запрещено и подсоединение клиентских принтеров при входе на сервер также должно быть разрешено.
 
4. В настройках учетной записи пользователя (Active Directory или Windows Local Security Accounts Manager) -> Environment -> Client Devices, подключение клиентских принтеров также необходимо разрешить.
 
5. В настройках групповой политики, необходимо разрешить “Do not allow client printer redirection”.
 
 
6. В Services Administrative Tool (services.msc), "Print Spooler Service" должен иметь статус “Started”.
 
7. Принтер не должен быть "Host-based printer" (так называемый GDI или Windows-only Printer). "Host-based" принтеры, такие как Hewlett Packard Printers использующие LIDIL (Lightweight Imaging Device Interface Language), не функциональны в среде Terminal Services (без использования программного обеспечения "для печати", выпускаемого различными производителями). Проконсультируйтесь с производителм Вашего принтера по вопросу поддержки PCL или PostScript драйверов.
 
8. Драйвер принтера на терминальном сервере не должен использовать "printer monitor" или так называемые принтерные утилиты, входящие в комплект ПО недорогих принтеров. Такие утилиты (программы) не предназначены для работы в многопользовательской среде, такой как Windows Terminal Services.

Без использования программного обеспечения "для печати" других производителей, список драйверов принтеров, который может использоваться в Windows Terminal Server выглядит следующим образом (в нижней части списка представлены нежелательные к использованию принтеры и выделены жирным шрифтом):
1. Windows Built-in PCL или PS Drivers – версии для “Windows 2000, Windows XP and Windows Server 2003”.
2. WHQL (Windows Hardware Quality Labs) подписанные драйверы – включая с логотипом “Designed for Windows”.
3. PCL или PS Drivers – сертифицированные производителем для использования с Windows Terminal Services или Citrix.
4. Windows Built-in PCL6 Drivers – версия для “Windows 2000, Windows XP and Windows Server 2003”.
5. PCL или PS драйверы производителей – версии “Windows 2000, Windows XP and Windows Server 2003”.
6. PCL6 производителей – версии “Windows 2000, Windows XP and Windows Server 2003”
7. PCL или PS Kernel Mode драййверы производителей – версия NT4.

Драйверы принтеров, которые уже установлены на Windows Server могут быть определены посредством Printers and Faxes Control Panel Applet  -> File -> Server Properties -> Drivers.
 
Драйверы принтеров, предназначенных для использования в Windows NT 4.0 необходимо устанавливать как “Kernel Mode Drivers”. Рекомендуется не использовать такие драйверы, так как они могут вызвать фатальные ошибки (например "Синий экран смерти" или Stop Error) и вызвать перезагрузку сервера.
 
 
Установка таких драйверов может быть запрещена с использованием нижеследующей политики:
 
Расширения для специфичных версий:
 
Windows 2000 Server SP2  предшествовала версия 2000 SP2, в которой была реализована возможность изменить ntprint.inf после завершения процессов автоматического создания принтеров. Начиная с 2000 Server SP2 и позднее, файл ntprint.inf имеет цифровую подпись Microsoft и не может быть изменен. Для поддержки работоспособности OEM (Original Equipment Manufacturer) принтеров не представленных в ntprint.inf (и не установленных на терминальном серовере) можно создать замещающий, пользовательский inf файл. Это позволит реализовать процесс автоматического создания пользовательских принтеров на терминальном сервере с предустановленными Windows Printer Drivers перечисленными в ntprint.inf.

На терминальном сервере неопходимо создать следующие ключи в реестре:
 
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwd
 
Name: PrinterMappingINFName
Type: REG_SZ
Data: Имя .inf файла для которого перенаправить преобразования.
Example: c:winntinf tprintsubs.inf
 
Name: PrinterMappingINFSection
Type: REG_SZ
Data: Имя раздела в .inf файла для которого перенаправить преобразования.
Example: Printers
 
Ниже представлен формат пользовательского inf файла:
 
---------------------------------------------------------------------------------------
[Version]
Signature="$CHICAGO$"
 
[Printers]
"OEM Printer Driver Name" = "Windows 2000 Printer Driver Name"
---------------------------------------------------------------------------------------
 
ПРИМЕР:
 
“HP LaserJet 4200 Series” = “HP LaserJet 4 Plus”
 
Microsoft уже выпустила “Terminal Server Printer Redirection Tool” для автоматизации создания записей в реестре и inf файла.
 
- Remote Desktop Client 5.2.3790 – Эта версия Microsoft Remote Desktop Client (выпущенная вместе с Windows Server 2003) или более поздняя поддерживает клиентские сетевые принтеры.  
- Windows Server 2003 SP1 – Эта версия Windows Server или более поздняя включает в себя “Terminal Server Fallback Printer Driver”, который может быть разрешен через политику в Computer Configuration -> Administrative Templates -> Windows Components -> Terminal Services -> Client/Server Data Redirection (или через скрипт).
 
Fallback Printer Driver в терминальных сервисах позволяет системе подключать принтеры без установки дополнительных драйверов на серверной стороне. Используя политики можно установить автоматическое создание принтеров с помощью драйверов Fallback PCL или Fallback PS. Необходимо понимать, что драйверы fallback преддоставляют "базовую" функциональность и не работают со всеми принтерами.
 
На картинке показаны четыре принтера, созданные автоматически с использованием PCL Fallback Printer Driver.
 
Внимательно посмотрите на свойства клиентского принтера, созданного автоматически с использованием Fallback PCL Driver, Вы увидете, что использовался драйвер принтера HP DeskJet 500.
 
 
Можно сказать, что Microsoft продвигает механизм установки драйверов, использующих Terminal Server Fallback PCL и PS принтеры. Для того чтобы отказаться от установок "по умолчанию" необходимо изменить нижеследующий регистрационный ключ и ввести желаемый драйвер принтера.
 
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds dpwd
"FallbackPclDriver"="HP DeskJet 550C"
"FallbackPsDriver"="HP Color LaserJet 5/5M PS"
 
Рекомендации: 
Бесполезно говорить о проблеме печати в терминальной среде как о "неизлечимой болезни". Постарайтесь ограничить количество и тип принтеров, которые Вы намерены использолвать в терминальной системе.
В организациях с большим количеством пользователей, более чем одним терминальным сервером и необходимостью поддерживать принтеры любого производителя необходимо использовать программные продукты, которые включают в себя драйвер универсального принтера (Universal Printer Driver). Использование такого ПО может способствовать снижению проблем (или полному исчезновению таких проблем) при каждой последующей установке нового принтера на новом терминальном сервере.
Драйверы универсальных принтеров используются в этих пакетах программного обеспечения "для печати":
- Ingenica UniPrint Server
- Provision Networks Print-IT
- ThinPrint .Print Server Engine
- triCerat Simplify Printing

Пакеты серверного ПО, которые включают в себя драйверы универсальных принтеров:
- Citrix Presentation Server 4.x
- ProPalms TSE (включая UniPrint Server)
- Provision Management Framework Standard and Enterprise (включая Print-IT)

Материал взят с сайта  http://www.tonk.ru/support/faq/printers01/?print=1

Комментариев нет:

Отправить комментарий

1