Режим перенаправления (проброса) принтеров позволяет пользователям отправлять задания печати из терминальной RDP (RDS) сессии на свой локальный принтер, подключенном к компьютеру. По умолчанию в Windows пробрасываются все подключенные к компьютеру принтеры, и принтер назначенный по-умолчнаию на локальном устройстве, будет назначен устройством по-умолчанию в терминальной сессии.
До Windows Server 2008 поддержка терминальной печати была головной болью для администраторов, т.к. на удаленном сервере нужно было устанавливать и поддерживать в актуальном состоянии все драйвера печати, используемые на компьютерах пользователей. В новых версиях Windows для печати из RDP сессии используется универсальный драйвер Remote Desktop Easy Print, который позволяет печатать практически на любом принтере.
Настройка Easy Print на RDP (RDS) сервере
Если в качестве RDP сервера используется Windows Server и на нем установлена роль Remote Desktop Session Host, то перенаправление локальных принтеров через Easy Print должно работать по умолчанию, дополнительно делать ничего не нужно.
Для всех проброшенных клиентских принтеров RDP хост будет пытаться использоваться драйвера RD Easy Print. Дополнительная настройка не требуется, локальные принтера автоматически появятся в сеансе пользователя.
Чтобы терминальный сервер всегда пытался использовать универсальный драйвер Remote Desktop Easy Print для проброшенных принтеров, нужно включить этот режим в локальной групповой политике.
- Откройте редактор групповых политик
gpedit.msc
- Перейдите в раздел Computer Configuration -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Printer Redirection (Конфигурация компьютера -> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Перенаправление принтеров)
- Включите политику Use Remote Desktop Easy Print driver first (Использовать в первую очередь драйвер принтера Easy Print служб удаленных рабочих столов)
Чтобы обновить настройки 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 работать не будет.
- 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
).
- Запустите утилиту, перейдите на вкладку Local Resources
- В секции Local devices and Resources включите опцию Printers (здесь же включается проброс буфера обмена).
- Если вы подключаетесь к приложению, опублиованному в виде RemoteApp, с помощью файла, для проброса принтеров в *.RDP файле должна присуствовать строка:
redirectprinters:i:1
hostname
) клиентского компьютера не должно превышать 14 символов. Если это не так, измените имя компьютера на клиенте.Теперь подключаемся к RDP серверу и переходив в раздел Settings -> Bluetooth & Devices -> Printers & scanners. Здесь должны появится проброшенные в RDP сессию локальные принтеры.
Их можно опознать по именам, в которых указано имя принтера и метка (redirected n). Где n это ID сессии пользователя.
Также эти перенаправленные принтера будут отображаться в консоли управления принтерами
printmanagement.msc
. Здесь видно, что для них используется драйвер Remote Desktop Easy Print.
Get-Printer | ? DriverName -eq "Remote Desktop Easy Print" | Sort-Object | FT -AutoSize
Пользователь может отправлять задания печати из приложений на RDP сервере, и они будут пересылаться драйвером Easy Print для печати на локальных принтерах.
HKEY_LOCAL_MACHINE\Software\Microsoft\Terminal 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.
- Выполнить драйверы принтеров в изолированных процессах (Execute print drivers in isolated processes)
- Переопределить параметр совместимости выполнения драйвера печати, назначенный драйвером печати (Override print driver execution compatibility setting reported by print driver)
Да-да, еще хотелось бы прочитать отдельно про RemoteApp — установку/настройку.
Смотрите эту статью: https://winitpro.ru/index.php/2010/11/08/nastraivaem-remoteapps-v-windows-server-2008/
Такая проблема — в терминале принтеры перебрасываются от пользователей, но когда отправляешь на печать вылазит ошибка — печать невозможно из-за неверной настройки текущего принтера.
Что это может быть?
Проблема возникает с разными моделями принтеров или с одной определенной? С принтерами HP младших моделей, например, глюки с Easy Print возникают часто возникают. Такое ощущение, что HP специально ограничило возможности Easy Print на домашних моделях принтеров. Попробуйте на клиентах поставить универсальный драйвер печати HP (HP Universal Print Driver)