Настройка печати из RDP сессии и проброс принтеров RD Easy Print

Режим перенаправления (проброса) принтеров дозволяет пользователям отправлять задания печати из терминальной RDP (RDS) сессии на собственный локальный принтер, присоединенном к компу. По дефлоту в Виндовс пробрасываются все присоединенные к компу принтеры, и принтер назначенный по-умолчнаию на локальном устройстве, будет назначен устройством по-умолчанию в терминальной сессии.

До Виндовс Server 2008 поддержка терминальной печати была головной болью для админов, т.к. на удаленном сервере необходимо было устанавливать и поддерживать в животрепещущем состоянии все драйвера печати, которые используются на компах пользователей. В новых версиях Виндовс для печати из RDP сессии употребляется всепригодный драйвер Remote Desktop Easy Print, позволяющ?? печатать фактически на любом принтере.

При использовании Easy Print не надо устанавливать драйвера для перенаправленных принтеров на RDP сервере, а перенаправленный клиентский принтер автоматом сопоставляется с драйвером RD Easy Print. Драйвер Easy Print прозрачно перенаправляет все задания в локальные очереди печати на комп, не считая того, он обеспечивает настоящий доступ к графическому интерфейсу управления принтером на локальной машине (доступны все кастомные функции и опции печати).

Настройка Easy Print на RDP (RDS) сервере

Если в качестве RDP сервера употребляется Виндовс Server и на нем установлена роль Remote Desktop Session Host, то перенаправление локальных принтеров через Easy Print должно работать по умолчанию, дополнительно делать ничего не нужно.

Для всех проброшенных клиентских принтеров RDP хост будет пытаться использоваться драйвера RD Easy Print. Дополнительная настройка не требуется, локальные принтера автоматически появятся в сеансе пользователя.

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

  1. Откройте редактор групповых политик gpedit.msc
  2. Перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Printer Redirection (Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров)
  3. Включите политику Use Remote Desktop Easy Print driver first (Использовать в первую очередь драйвер принтера Easy Print служб удаленных рабочих столов)
Если эта политика отключена, значит драйвер принтера пользователя нужно вручную устаналивать на терминальном (RDP) сервере.

Чтобы обновить настройки GPO нужно выполнить команду gpupdate /force и завершить сессию пользователя (logoff).

Дополнительные параметры GPO из этой секции, которые можно использовать для настройки перенаправления принтеров в RDP сессии:

  • Redirect only the default client printer (Перенаправлять только используемый по умолчанию принтер клиента) – позволяет уменьшить количество пробрасываемых принтеров с клиентского устройства. В удаленной сессии будет виден только принтер, назначенный на компьютере пользователя по-умолчанию.
  • Do not set default client printer to be default printer in a session (Не устанавливать используемый по умолчанию принтер клиента в качестве принтера для сеанса)
  • Specify terminal server fallback printer driver behavior (Задать поведение сервера терминалов при выборе резервного драйвера принтера) – позволяет указать нужно ли назначать для резервного принтера PCL, PS (PostScript) или любой из этих тип драйвера.
  • Do not allow client printer redirection – позволяет полностью запретить использование перенаправленных принтеров в RDP сессии (должно быть отключено или не задано).

Для удобства управления драйверами и проброшенными принтерами на стороне RDP сервера можно установить консоль printmanagement.msc. В дестопных Windows 10/11 она установлена по-умолчанию, а в Windows Server ее можно добавить с помощью команды:

DISM /online /add-capability /CapabilityName:Print.Management.Console~~~~0.0.1.0

Откройте консоль printmanagement.msc

Проверьте, что в разделе Drivers есть драйвер Remote Desktop Easy Print. Не удаляйте этот драйвер печати, без него перенаправление принтеров EasyPrint работать не будет.

Если у вас развернута RDS ферма, в настройках RDS коллекций есть несколько опций для управления перенаправлением принтеров для пользователей:

  • Allow client printer redirection
  • Use the client default printing device
  • Use the Remote Desktop Easy Print print driver first

Включаем проброса принтера в RDP сессию на клиенте

Предполагаем, что на клиентском компьютере в профиле пользователя уже установлен и настроен принтер (это может быть локально подключенный принтер, или сетевой принтер)

Чтобы RDP клиент пробрасывал локальные принтеры в сессию на удаленном хосте, нужно включить соответствующую опцию настройках утилиты Remote Desktop Connection ( mstsc.exe ).

  1. Запустите утилиту, перейдите на вкладку Local Resources
  2. В секции Local devices and Resources включите опцию Printers (здесь же включается проброс буфера обмена).
  3. Если вы подключаетесь к приложению, опублиованному в виде RemoteApp, с помощью файла, для проброса принтеров в *.RDP файле должна присуствовать строка: redirectprinters:i:1
Нюанс. Для корректной работы перенаправленных принтеров, имя ( hostname ) клиентского компьютера не должно превышать 14 символов. Если это не так, измените имя компьютера на клиенте.

Теперь подключаемся к RDP серверу и переходив в раздел Settings -> Bluetooth & Devices -> Printers & scanners. Здесь должны появится проброшенные в RDP сессию локальные принтеры.

Их можно опознать по именам, в которых указано имя принтера и метка (redirected n). Где n это ID сессии пользователя.

Также эти перенаправленные принтера будут отображаться в консоли управления принтерами printmanagement.msc . Здесь видно, что для них используется драйвер Remote Desktop Easy Print.

Список перенаправленных принтеров на хосте можно вывести с помощью PowerShell:

Get-Printer | ? DriverName -eq "Remote Desktop Easy Print" | Sort-Object | FT -AutoSize

Пользователь может отправлять задания печати из приложений на RDP сервере, и они будут пересылаться драйвером Easy Print для печати на локальных принтерах.

Если на определенном клиенте не работает проброс принтеров в RDP, проверьте есть ли разделе реестра HKEY_LOCAL_MACHINESoftwareMicrosoftTerminal Server Client параметр DisablePrinterRedirection со значением 1. Он может блокировать перенаправление принтеров. Удалите параметр или измените значение на 0.

Использование в RDP принтеров, которые не поддерживают режим EasyPrint

Есть ряд принтеров (как правило домашние или класса SOHO), которые не поддерживают функцию Easy Print, или работают в этом режиме некорректно. Также Easy Print не будет работать на Windows Server без установки роли RDSH. Для таких принтеров придется вручную установить одинаковые драйвера на клиентский компьютер и на терминальный сервер.

Чтобы установить драйвер, откройте консоль printmanagement.msc . Щелкните правой кнопкой по разделу Drivers и выберите Add Driver.

Воспользуйтесь мастером добавления драйвера, укажите путь к INF файлу драйвера и установите его.

Обратите внимание, что название драйвера принтера на клиенте и на сервере должны быть полностью идентичными.

Теперь, когда пользователь в следующий раз подключится к этому RDP/RDS хосту, в его сессию будет автоматически перенаправлен локальный принтер. Причем для него будет использоваться его собственный нативный драйвер (который вы установили на клиенте и на сервере) вместо драйвера TS Easy Print.

Для повышения безопасности и надежности RD сервера с нативными драйверами рекомендуется включить режим изоляции драйверов печати. Для этого в локальной GPO в разделе Computer Configuration -> Administrative Templates -> Printers включите параметры:

  • Выполнить драйверы принтеров в изолированных процессах (Execute print drivers in isolated processes)
  • Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати (Override print driver execution compatibility setting reported by print driver)


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *