Принтер перенаправлено не печатает

Доброго всем дня (или чего там у вас сейчас).

Вы наверное думаете, что сейчас пойдет речь о сервере терминалов, удаленном доступе, печати через хитрожопую непростую последовательность компьютер->сервер->компьютер->принтер HP? Вы чертовски правы! Представляю вам небольшой рассказ: как я победил сообщение "Параметр задан неверно" при печати на HP LaserJet из сеанса удаленного доступа.

Стоит у нас Сервер терминалов. Вернее, теперь это модно называть "сервер удаленных рабочих столов". ОС – Microsoft Windows Server 2008 R2 Standart. На сервере установлена 1С-Предприятие с которым, собственно, клиенты сервера и работают. Так повелось, что принтеры у клиентов разные, но все одного производителя – Hewlett Packard.

Первым, если склероз мне не изменяет, начал бунтовать HP LaserJet P1566. Подключенный к компьютеру с Windows 7 Pro, он работал без нареканий. Но при попытке распечатать что-либо из 1С (из сеанса удаленного рабочего стола) молчал как партизан. Ну типа, нажал "Печать" – и ничего. Ни распечатанного документа, ни ошибки. Just silence. Ни на какие уловки и провокации не поддавался. Установка и переустановка драйверов разных версий не помогала, даже всемогущие и всезнающие поисковики выдавали всякий фарш из информации, дабы не признаваться что тут они бессильны. Удалось лишь выяснить, что если попытаться из удаленного сеанса распечатать текстовый документ из блокнота, получается ошибка "Параметр задан неверно". Это была первая зацепка. Хотя ни "мастер исправления неполадок", будь он неладен, ни поиски по подробностям полученной ошибки ни к чему не привели.

Вобщем, поставил вместо этого партизана другую модель (HP LaserJet 1022), которая заработала как положено (была тогда такая возможность).

Долго ли, коротко ли, да только начал и другой принтер страдать таким же безобразием. Я уже начал подумывать, что это заговор машин против человечества. Но как-то очередной раз, разбираясь как там происходит печать на сервере удаленных рабочих столов, набрел на описание новомодной фичи от майкрософт – TS Easy Print. Оказывается печатать родными драйверами принтера с сервера нынче моветон и Майкрософт решила осчастливить системных администраторов новой технологией. Если интересуетесь подробностями, в конце статьи есть ссылки.

Как можно догадаться, далее я отключил использование по умолчанию Easy Print и – о чудо, все заработало!

После чего я вспомнил о страждущих, попавшихся мне на просторах рунета, страдающих от этой же проблемы. Наиболее подходящим местом для описания решения мне показался форум Microsof TechNet (этого блога тогда еще не было). Теперь вот решил этот случай зафиксировать для истории и здесь, хотя, вполне возможно, что, с обновлениями Server 2008 R2, эта проблема уже решена, у меня пока нет желания проверять. В поисковиках подобного описания я не нашел, посему дублирую свой пост из TechNet:

На сервере терминалов:

Пуск -> Выполнить -> gpedit.msc -> Конфигурация компьютераАдминистративные шаблоныКомпоненты WindowsСлужбы терминаловСервер терминаловПеренаправление принтеров -> использовать в первую очередь драйвер принтера Easy Print служб терминалов. Отключай нафик!

Теперь перезапусти сеанс клиента, у которого проблема с LaserJet 1120. И в его сеансе: Пуск, Устройства и принтеры, HP LaserJet M1120 (перенаправлено бла. бла. ), правая кнопка мыши, Свойства принтера, вкладка Дополнительно.

В графе "Драйвер" не должен быть Easy Print Driver. Если эта гадина ещё там, значит на сервер надо установить подходящую версию драйвера для твоего принтера.

Новая волшебная технология Microsoft Easy Print Driver предназначалась освободить администраторов от установки драйверов принтеров на сервер терминалов. И у многих, дай бог ей здоровья, работает. Но, по крайней мере, с некоторыми моделями HP выдает труднодиагностируемую ошибку. (У меня не работает с HP LaserJet Pro 1566, HP LaserJet Pro M1212nf и HP LaserJet P1606dn). Кроме того, говорят, EPD способна превратить три страницы документа в 15мб трафика.

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

(там, кстати, в коментах девушка описала такую же ситуацию как у нас с тобой)

Может пригодиться при установке родного/подходящего драйвера:

Шаг 1

Проверить, что в настройках RDP-файла настроен проброс локальных ресурсов до сервера.

Для этого необходимо кликнуть по RDP-ярлыку правой кнопкой мыши и выбрать строку Изменить. Откроется окно с параметрами, Вам нужно перейти на закладку Локальные ресурсы и поставить галочку Принтеры.

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

Виртуальный сервер на базе Windows

Если Ваш принтер не поддерживает функцию Easy Print, тогда Вам необходимо установить драйвер на сервер для Вашей модели принтера. Как это сделать читайте далее.

Шаг 2

Далее -> Роли сервера -> Службы печати (поставить галочку напротив) -> Далее -> Далее (по умолчанию выбран параметр «Сервер печати») -> Установить -> Перезагрузить сервер

В диспетчере сервера – конфигурация – локальные пользователи – группы – print operators добавляем свою учетную запись (администратор)

  • Делаем log off – log on
  • Скачиваем драйвер с официального сайта производителя принтера
  • Распаковываем архиватором
  • В диспетчере сервера. Серверы печати – название вашего компьютера с которого подключаетесь – принтеры
  • Убеждаемся, что напротив нашего принтера стоит remote desktop easy print
  • Идем: Серверы печати – название вашего компьютера с которого подключаетесь – драйверы ПКМ добавить драйвер

    Установить с диска – указываем файл *.inf , прогоняем мастер установки.

  • Выполняете log off/ log on на терминальном сервере.
  • В качестве альтернативы использования традиционной системы печати в 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 ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerPrinter 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 ConfigurationPoliciesAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerPrinter 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_MACHINESYSTEMCurrentControlSetControlTerminal ServerWds
    dpwd
    fEnablePrintRDR.

    Проблема 4. Пользователи не могут печатать на перенаправленных принтерах при совмещении ролей терминального сервера и контроллера домена

    При совмещении ролей терминального сервера и контроллера домена у пользователей могут возникнуть проблемы с печатью (пример на форумах Microsoft Technet).

    Для решения нужно дать права modify для группы everyone на папку: C:WindowsSystem32spool или воспользоваться статьей KB968605.

    Проблема 5. Снижение скорости печати

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

    Проблема 6. Не все принтеры перенаправляются в терминальную сессию

    По умолчанию число перенаправляемых принтеров ограничено 20. Это поведение можно исправить добавив в раздел реестра

    HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindows NTTerminal Services

    ключ MaxPrintersPerSession и задав в нем максимальное число перенаправляемых принтеров.

    Проблема 7. Поддержка тонких клиентов

    Одним из основных минусов технологии TS Easy Print являются требования к версии клиента удаленного рабочего стола и установке .Net Framework. Достаточно много тонких клиентов (особенно произведенных несколько лет назад) не имеют достаточно дискового пространства для использования операционной системы, содержащей данные программные продукты. Для остальных можно воспользоваться новой версией Windows Embedded 2009.

    Заключение

    В статье рассмотрена практическая сторона использования технологии TS Easy Print. Особое внимание уделено проблемам, которые могут возникнуть при переходе на новую систему печати. Не смотря на достаточно большое число перечисленных проблем, следует отметить, что технология TS Easy Print уже зарекомендовала себя с самой лучшей стороны и может быть использована в производственных целях. В качестве альтернативы TS Easy Print могут использоваться сторонние программные продукты (например, ThinPrint). Однако следует учитывать, что большинство таких продуктов платные и требуют установки дополнительного программного обеспечения.

Оцените статью
ПК Знаток
Добавить комментарий

Adblock detector