- Отключение Easy Print в Windows Server
- Отключение Easy Print через групповые политики
- Проблема с печатью EasyPrint на терминальном сервере
- Ускорение печати из терминальной сессии Windows Server или доработка EasyPrint напильником
- TS Easy Print на практике
- Настройка
- Особенности практического использования
- Заключение
Отключение Easy Print в Windows Server
Начиная с Windows Server 2008, разработчики из Microsoft ввели новую технологию для удаленной печати под названием Easy Print. Если раньше для печати проброшенного с клиента принтера, или иного печатающего устройства, требовалось устанавливать драйвер на самом сервере, то теперь для этой задачи используется специальный драйвер Easy Print. Тем не менее, из-за определенных особенностей работы, возникают проблемы, которые могут привести к желанию отключить данную технологию.
Отключение Easy Print через групповые политики
Стоит отметить, что отключение Easy Print в системе в принципе невозможно — просто меняется алгоритм работы. Если по умолчанию Easy Print используется для всего и вся, то можно настроить так, чтобы служба печати сперва пробовала искать установленный драйвер устройства в системе, и если он есть — использовала его. Если же драйвера нет, то только тогда будет использоваться Easy Print
- Выполняем команду gpedit.msc, для того, чтобы попасть в Редактор локальной групповой политики;
- Переходим по следующему пути — Конфигурация компьютера — Административные шаблоны — Компоненты Windows — Службы удаленных рабочих столов — Узел сеансов удаленных рабочих столов — Перенаправление принтеров;
- Находим там пункт «Использовать в первую очередь драйвер принтера Easy Print удаленного рабочего стола», и устанавливаем ему значение «Запретить» или «Отключено».
После этого, для применения настроек, необходимо перелогиниться на сервер. Так же важно отметить, что для каждого проброшенного устройства, которое будет печатать без использования Easy Print, будут свои персональные настройки на стороне терминального сервера — браться со стороны клиента они больше не будут.
Проблема с печатью EasyPrint на терминальном сервере
С момента выхода Windows Server 2008 Microsoft внесла некоторые изменения в систему печати, призванные облегчить работу системных администраторов. Появился универсальный драйвер печати EasyPrint. До момента выхода EasyPrint при подключении к удаленному рабочему столу (терминалу) проброс принтеров с локального компьютера осуществлялся только в том случае, если на сервере терминалов был установлен драйвер принтера той же версии, что и на локальном компьютере.
EasyPrint является универсальным драйвером печати и по умолчанию загружается для всех принтеров у клиентов удаленного рабочего стола. На деле это значительно уменьшило проблемы с печатью, поскольку теперь не нужно устанавливать отдельный драйвер для каждого принтера у подключаемых пользователей.
В большинстве случаев EasyPrint работает без проблем, но бывают исключения. Наиболее проблемными оказались принтеры фирмы HP. При подключении принтер подхватывался, на него устанавливался драйвер EasyPrint, но возникают конфликт и печать не работает.
Для решения этой проблемы рекомендуется отключить EasyPrint и использовать драйвер определенного принтера или универсальный драйвер HP.
EasyPrint для компьютеров в домене отключается средствами групповой политики. Для этого необходимо перейти в Computer Configuration -> Administrative templates -Windows Components -> Remote Desktop Services > Remote Desktop Session Host -> Printer Redirection для Windows Server 2008 R2 или Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection для Windows Server 2008. В нем необходимо отключить опцию Use Remote Desktop Easy Print printer driver first для Server 2008 R2 или Use Terminal Services Easy Print Driver First Server 2008 соответственно.
При такой настройке для компьютера клиента, на который действует данная GPO, первым делом будет осуществлен поиск родного драйвера для принтера, если он не будет найден, то следующим этапом будет загружен драйвер EasyPrint. Следует обратить внимание, что отображение принтера в панели управления еще не гарантирует работу печати, т.к. в частности может быть использован драйвер EasyPrint, который не будет отрабатывать на данном принтере.
В заключении хотел бы привести общие требования для работы печати по удаленке:
Последовательность действий для смены драйвера с EasyPrint на родной
- Добавляем себя в локальную группу “Print Operators” терминального сервера
- Устанавливаем роль “Print Services”
- Заходим в консоль “Print Services”. По умолчанию операторы печати могут только просматривать принтеры других пользователей, для изменения их настроек нужно выбрать необходимый принтер, зайти в Свойства –> Безопасность -> Дополнительно -> Владелец. Добавляем операторов печати. Закрываем окна. Открываем снова Свойства –> Безопасность и для группы “Print Operators” назначаем права на редактирование.
- Заходим в Свойства принтера -> Дополнительно и меняем драйвер принтера с EasyPrint на родной драйвер принтера.
Стоит отметить, что смена драйвера для конкретного принтера будет действовать лишь на период сессии в которой доступен этот драйвер для того, что бы для принтера устанавливался родной драйвер каждый раз при подключении к серверу удаленного рабочего стола необходимо средствами групповой политики отключить EasyPrint. - Создаем групповую политику на OU в котором находятся учетные записи подключающихся компьютеров. Переходим в раздел Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection и отключаем опцию Use Terminal Services Easy Print Driver First
Как правило, для выяснения поддерживает ли принтер печать с удаленного рабочего стола необходимо искать конкретную модель, однако есть и списки.
Для тестирования драйвера принтера на многопользовательское использование можно использовать утилиту StressPrinters.
Ускорение печати из терминальной сессии Windows Server или доработка EasyPrint напильником
И вот он настал, этот день, когда в очередной раз, ожидая распечатки от томно подмигивающего принтера, я, наконец, решил, что мое терпение не безгранично. Посвящается тем, кого тоже достала медленная печать на перенаправленных принтерах. Все знают про достоинства технологии EasyPrint, теперь поговорим о ее недостатках и методах борьбы с ними.
Задачей технологии EasyPrint является преобразование контента, выводимого на печать, в xps формат и передача его на клиентский компьютер, откуда он и будет напечатан с помощью родного драйвера. Проблема в том, что преобразование и передача, прибавившего в весе от такого преобразования, потока занимает слишком много времени. За универсальность приходится платить.
Решение состоит в использовании на сервере родных драйверов для каждого принтера, это позволяет осуществлять печатать напрямую, получая от клиента только физический адрес принтера. Сразу отмечу, что такое решение связано с риском превратить сервер в помойку драйверов, поэтому эти моменты нужно отслеживать. Ну и, понятно, что должен существовать драйвер нужного принтера для x64 систем (думаю, что x86 на серверах уже неактуально).
Перейдем от теории к практике.
Добавляем администратора в группу «Операторы печати», чтобы видеть перенаправленные принтеры всех пользователей.
Отключаем преимущественное использование EasyPrint. Запускаем оснастку локальной политики (gpedit.msc), для доменов нужно использовать доменную политику. Переходим в Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров и устанавливаем политику «Использовать в первую очередь драйвер принтера Easy Print удаленного рабочего стола» в «отключено».
Запускаем оснастку «Управление печатью» (printmanagement.msc) и добавляем драйверы нужных принтеров на сервер печати.
Очень важно: название принтера в драйвере должно в точности совпадать с названием принтера в драйвере на клиентской машине, иначе перенаправленный принтер не подхватит драйвер на сервере. Проверить, используется ли драйвер EasyPrint для конкретного перенаправленного принтера, мы можем в свойствах этого принтера в оснастке «Устройства и принтеры» (после установки драйвера на сервер, для его использования пользователь должен перелогиниться на сервере). Если название принтеров в драйверах не совпадают, то запускаем редактор реестра, переходим на [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\Windows x64\Drivers\Version-3] и меняем название нужного драйвера (после этого нужна перезагрузка). Благодаря такому твику, мы можем использовать на сервере нужный нам драйвер, отличный от клиентского. Для нужных мне принтеров HP я подобрал драйверы с одинаковым названием для клиентов (Windows XP) и для сервера (Windows Server 2008R2), использовав драйвера для разных редакций Windows Vista с сайта HP. Ленивые могут просто использовать драйвер от Microsoft, исправив его название в реестре.
Если у вас клиенты x64 с драйверами из поставки Windows или из Windows update, то есть большая вероятность, что они автоматически подтянутся на сервер при подключении клиента. Поэтому следите за установленными драйверами с помощью оснастки «Управление печатью». Еще один твик – если у вас подтянулся ненужный драйвер, то вы можете удалить его из оснастки, не удаляя package, а ссылку на package удалить в этой ветке реестра [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\PackageInstallation\Windows x64\DriverPackages] . Тогда при следующем подключении этот драйвер не будет снова устанавливаться, и печать на этом принтере будет происходить средствами EasyPrint.
Слишком подробно не описывал, думаю, что читатели «в теме», если есть вопросы — задавайте.
TS Easy Print на практике
В качестве альтернативы использования традиционной системы печати в Windows 2008 появилась технология TS Easy Print, позволяющая избежать установки драйверов для перенаправленных принтеров на терминальном сервере. Благодаря этому значительно повышается стабильность работы как службы диспетчера очереди печати, так и всего терминального сервера в целом.
Внедрение TS Easy Print не требуется дополнительной установки серверной и клиентской части. Достаточно лишь наличие на рабочей станции клиента удаленного рабочего стола версии 6.1 (или старше) и .NET Framework 3.0 SP1 (или старше).
Статья разделена на два основных раздела.
Первая часть посвящена способам настройки и управления технологией TS Easy Print при помощи групповых политик и консоли управления печатью.
Во втором разделе собран практический опыт автора по использованию TS Easy Print, а также приведен ряд примеров из форумов Microsoft Technet.
Настройка
Для управления настройками печати на терминальном сервере в Windows Server 2008 существует несколько групповых политик. Найти их можно в следующем контейнере:
Computer Configuration\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection.
В русскоязычном интерфейсе это
Конфигурация компьютера\Административные шаблоны\Компоненты Windows\Службы терминалов\Сервер терминалов\Перенаправление принтеров (рис. 1).
Рис. 1. Групповые политики для управления перенаправленным принтерами
Рассмотрим каждую из них более подробно.
Таблица 1: Политики управления печатью на терминальных серверах
Групповая политика (в скобках представлен русский вариант названия) | Описание функциональности |
Do not set default client printer to be default printer in a session (Не устанавливать используемый по умолчанию принтер клиента в качестве принтера для сеанса) | Определяет будет ли принтер по умолчанию на клиенте автоматически установлен как принтер по умолчанию в терминальной сессии. Если этот параметр не задан, пользователь может самостоятельно задать принтер по умолчанию в терминальной сессии. |
Do not allow client printer redirection (Не разрешать перенаправление клиентских принтеров) | Позволяет запретить подключение клиентских принтеров к терминальной сессии. Включение этой политики отключает перенаправление принтеров. |
Specify terminal server fallback printer driver behavior (Задать поведение сервера терминалов при выборе резервного драйвера принтера) | Не смотря на существование этой политики использовать её можно только на Windows Server 2003. |
Use Terminal Services Easy Print driver first (использовать в первую очередь драйвер принтера Easy Print служб терминалов) | Если эта политика включена или не настроена, сервер терминалов сначала попытается использовать драйвер принтера TS Easy Print для установки всех клиентских принтеров. Если по какой-либо причине драйвер TS Easy Print не доступен, используется драйвер принтера на терминальном сервере, соответствующий принтеру на клиентском компьютере. Если драйвер не найден на терминальном сервере, этот принтер не может быть перенаправлен. |
Redirect only the default client printer (Перенаправлять только используемы по умолчанию принтер клиента) | Включает перенаправление только принтера по умолчанию. Остальные принтеры не перенаправляются. |
Use Terminal Services Easy Print Driver First
Redirect Only The Default Client Printer
также можно найти в пользовательском разделе групповых политик в контейнере
User Configuration\Policies\Administrative Templates\Windows Components\Terminal Services\Terminal Server\Printer Redirection.
Отдельно следует упомянуть о способах управления принтерами системными администраторами. По сравнению с Windows Server 2003, изменился механизм отображения доступных принтеров. Во время работы процесса Winlogon, диспетчер очереди печати перечисляет только принтеры, которые доступны пользователю в рамках его текущей сессии (вместо перечисления всех перенаправленных принтеров).
Однако, даже не смотря на то, что системный администратор не может видеть принтеры других пользователей, есть обходной маневр для получения информации о перенаправленных принтерах и выполнения с ними ряда административных задач. Члены группы «Print Operators» («Операторы печати») могут увидеть все перенаправленные принтеры в консоли управления печатью «Print Management Console» и панели управления принтерами. Для этого необходимо выполнить следующие действия.
1. Добавить себя в группу «Print Operators».
2. Установить роль «Print Services» на сервер.
3. Запустить консоль «Print Management».
По умолчанию администраторы и операторы печати не имеют прав на управление перенаправленными принтерами и могут только видеть их в консоли. Для управления перенаправленными принтерами необходимо предварительно захватить права владельца на него. Это делается следующим образом.
1. Открыть консоль управления печатью и щелкнуть правой клавишей мыши по выбранному принтеру.
2. Выбрать «Properties».
3. Перейти на закладку «Security».
4. Нажать «Advanced».
5. Перейти на закладку «Owner» (рис. 2).
Рис. 2. Захват прав владельца
6. Выбрать «Print Operators» и дважды нажать «Ок».
7. Закрыть все окна управления принтером.
8. Заново открыть окно свойств принтера.
9. Перейти на закладку «Security»
10. Добавить группе «Print Operators» право «Manage Printer».
Рис. 3. Добавление прав управления
Члены группы Print Operators должны использовать право Manage Printers только для выполнения следующих задач:
· удаление перенаправленного принтера;
· открытие очереди печати перенаправленных принтеров;
· управление заданиями на печать для перенаправленных принтеров.
Остальные действия, такие как переименование, установка для принтера свойств по умолчанию и предпочтений печати не поддерживаются.
В моей практике это понадобилось для решения проблемы с уходом в отключенное состояние после рестарта службы диспетчера очереди печати.
Особенности практического использования
В этой части я хотел бы рассказать о проблемах которые могут возникнуть в процессе использования технологии TS Easy Print и способах их решения. Информация представлена в виде описания проблемы и возможного способа её решения. По возможности, проблема проиллюстрирована примерами из форумов Microsoft Technet.
Проблема 1. Нестабильность службы диспетчера очереди печати
Основной предпосылкой внедрения TS Easy Print являются сбои в службе диспетчера очереди печати при использовании драйверов для принтеров на терминальном сервере. Эта проблема также актуальна и в «смешанной» среде. Если на терминальном сервере параллельно используются как TS Easy Print, так и традиционная система печати, проблемы могут только усугубиться. Это связано с тем, что при перезапуске службы диспетчера очереди печати, перенаправленные принтеры переходят в состояние offline и становятся недоступными для печати. Для наиболее быстрого решения этой проблемы требуется переподключение терминального сеанса. Всё это вызывает массу негативных отзывов (пример на форумах Microsoft Technet) со стороны конечных пользователей.
В качестве глобального решения этой проблемы можно рассмотреть полное удаление драйверов принтеров и сопутствующих им элементов с терминального сервера. Однако и эта операция может вызвать массу проблем (пример на форумах Microsoft Technet), так как вместе с драйверами принтеров могут удалиться драйвера Terminal Services Easy Print и Microsoft XPS Document Writer. Без них перенаправление принтеров по технологии TS Easy Print работать не будет.
В связи с этим, необходимо крайне осторожно относиться к удалению драйверов на терминальном сервере при помощи специальных утилит:
Перед их использованием настоятельно сделать резервное копирование системы.
Альтернативным способом является ручное удаление драйверов. Это делается следующим образом.
1. Перейти в «Панель Управления».
2. Выбрать «Принтеры»
3. Щелкнуть «Свойства Сервера» (рис. 4)
Рис. 4. Свойства сервера печати
4. Перейти на закладку «Драйверы» (рис .5)
Рис. 5. Драйверы принтеров
5. Поочередно удалить все драйверы кроме Terminal Services Easy Print и Microsoft XPS Document Writer.
Кроме того, можно дополнительно удалить данные из реестра и файловой системы. Более подробную информацию об этом можно получить в статье Print Spooler Crash Troubleshooting Steps.
Если терминальные сервера находятся терминальной ферме, и для соединения с ними используется ключ /admin, то при проверке нужно учитывать, что при таком типе подключения TS Easy Print не работает по умолчанию (KB947723).
Проблема 2. Печать «иероглифов» на перенаправленных принтерах»
При печати по технологии TS Easy Print могут отображаться «иероглифы». Обычно это вызывается старой версией .Net Framework. Установка более новой версии данного программного продукта может решить данную проблему. Данная проблема актуальна для старых версий клиентских операционных систем. Для Windows 7 дополнительная установка .Net Framework необязательна.
Проблема 3. Перенаправление принтеров не работает
Для решения данной проблемы следует проверить настройки перенаправления для клиента удаленного рабочего стола, на терминальном сервере, результирующие групповые политики и параметр реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\fEnablePrintRDR.
Проблема 4. Пользователи не могут печатать на перенаправленных принтерах при совмещении ролей терминального сервера и контроллера домена
При совмещении ролей терминального сервера и контроллера домена у пользователей могут возникнуть проблемы с печатью (пример на форумах Microsoft Technet).
Для решения нужно дать права modify для группы everyone на папку: C:\Windows\System32\spool или воспользоваться статьей KB968605.
Проблема 5. Снижение скорости печати
Скорость печати может существенно снизиться после применения обновления KB954744, решающего проблему с некорректной ориентацией страниц при печати на перенаправленых принтерах. Для решения этого надо установить дополнительное обновление KB954773.
Проблема 6. Не все принтеры перенаправляются в терминальную сессию
По умолчанию число перенаправляемых принтеров ограничено 20. Это поведение можно исправить добавив в раздел реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
ключ MaxPrintersPerSession и задав в нем максимальное число перенаправляемых принтеров.
Проблема 7. Поддержка тонких клиентов
Одним из основных минусов технологии TS Easy Print являются требования к версии клиента удаленного рабочего стола и установке .Net Framework. Достаточно много тонких клиентов (особенно произведенных несколько лет назад) не имеют достаточно дискового пространства для использования операционной системы, содержащей данные программные продукты. Для остальных можно воспользоваться новой версией Windows Embedded 2009.
Заключение
В статье рассмотрена практическая сторона использования технологии TS Easy Print. Особое внимание уделено проблемам, которые могут возникнуть при переходе на новую систему печати. Не смотря на достаточно большое число перечисленных проблем, следует отметить, что технология TS Easy Print уже зарекомендовала себя с самой лучшей стороны и может быть использована в производственных целях. В качестве альтернативы TS Easy Print могут использоваться сторонние программные продукты (например, ThinPrint). Однако следует учитывать, что большинство таких продуктов платные и требуют установки дополнительного программного обеспечения.