Не работает перенаправление принтеров в rdp windows 10

  • Remove From My Forums
  • Question

  • С клиентской машины на Windows 10 не перенаправляется принтер при подключении по RDP. Версия RDC 10.0 . Подключаюсь к Server
    2019.

    .NET Framework 3.5 SP1 установлен на клиентскую машину. Принтер Canon iR2425 настроен на клиентской машине через порт
    TCP. Клиент и сервер находятся в разных локальных сетях, подключаюсь через статичный IP адрес через проброс портов.

    В событиях на сервере сообщений не обнаружил.
    Другие клиенты с этим-же принтером работают ОК. Перенаправление работает нормально.

    Куда копать ? help! :(

Download Windows Speedup Tool to fix errors and make PC run faster

If Remote Desktop Printer redirection is not working or Remote Desktop Session doesn’t show the Printer in Windows 11/10, here is how you can get rid of the issue. These solutions help you troubleshoot the problem by changing and checking a few settings on your computer.

Remote Desktop Printer redirection not working in Windows

If Remote Desktop Printer redirection is not working in Windows 11/10, follow these steps:

  1. Reboot computer
  2. Install printer driver on remote computer
  3. Enable Printer for remote session
  4. Hard reset printer
  5. Check Group Policy settings
  6. Verify Registry settings

To learn more about these steps, continue reading.

1] Reboot computer

It is the very first thing you need to do when you are getting the aforementioned issue on your computer. At times, it could be solved by restarting the computer. On the other hand, you can try restarting the Remote Desktop Session as well. If the problem occurs due to some glitch or internal conflict, it could be resolved.

2] Install printer driver on remote computer

Although most printers work without installing the driver, you may need to install the printer driver on your remote computer. Even if you have installed it on the host computer, it is recommended to install the same on the remote computer as well. If the user fails to get the driver, he/she can download the same from the official website of the printer manufacturer.

3] Enable Printer for remote session

Remote Desktop Printer redirection not working in Windows

In order to use the Printer on the Remote Desktop Session, you need to enable it from the settings panel. It is located under the Local devices and resources section. To enable Printer for the remote session, follow these steps:

  • Search for remote desktop connection in the Taskbar search box.
  • Click the individual search result.
  • Click the Show Options button.
  • Switch to the Local Resources tab.
  • Tick the Printers checkbox.
  • Click the Connect button.

Now, you should not find any issues.

4] Hard reset printer

At times, a corrupt internal file could be responsible for this error. In such situations, you can get rid of the issue by resetting the Printer. You can follow this guide to reset Printer to default factory settings.

5] Check Group Policy settings

Remote Desktop Printer redirection not working in Windows

There is a setting in the Local Group Policy Editor that could cause such issues. Therefore, follow these steps to check the Group Policy settings in Windows 11/10:

  • Press Win+R > type gpedit.msc and hit the Enter button.
  • Navigate to this path: Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Printer Redirection
  • Double-click on the Do not allow client printer redirection setting.
  • Choose the Not Configured option.
  • Click the OK button.

Then, restart your computer and check if it resolves your issue or not. Apart from that, you need to open the Use Remote Desktop Easy Print printer driver first setting and choose the Not Configured option.

6] Verify Registry settings

Remote Desktop Printer redirection not working in Windows

The same Group Policy setting could be enabled or disabled using the Registry Editor. Therefore, if you have turned it on using Windows Registry, you need to disable it from there. To verify the Registry settings, follow these steps:

  • Search for regedit in the Taskbar search box.
  • Click on the individual search result.
  • Click the Yes button.
  • Navigate to this path: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
  • Right-click on the fDisableCpm.
  • Choose the Delete option.
  • Click the Yes button.

Next, you need to restart your computer.

Note: You must install and use RDC 6.1 or the later version. In case you use Windows XP, ensure that you have .NET Framework 3.5 SP1.

Read: Enable Remote Desktop using Command Prompt or PowerShell

How do I fix redirection on Remote Desktop?

To fix the redirection on Remote Desktop, you must go through the solutions mentioned above. You need to start the troubleshooting process by restarting your computer and Remote Desktop Session. Then you can enable the Printers settings for Remote Desktop Session. On the other hand, you can also verify the Group Policy and Registry Editor settings.

How do I enable printer redirection for Remote Desktop Sessions?

Printer redirection is already enabled by default for Remote Desktop Sessions. However, if it is disabled, you must follow the Group Policy or Registry Editor settings. Both options are mentioned above, and you can go through the steps to complete the job.

That’s all! Hope it helped.

Read: Your credentials did not work in Remote Desktop on Windows.

Anand Khanse is the Admin of TheWindowsClub.com, a 10-year Microsoft MVP (2006-16) & a Windows Insider MVP (2016-2022). Please read the entire post & the comments first, create a System Restore Point before making any changes to your system & be careful about any 3rd-party offers while installing freeware.

Автор статьи не я, позаимствовано у http://lpine.org/

Перенаправление принтеров в терминалах (MS Terminal Services & Remote Desktop Services)

Часть первая, теория

Введение, «Что такое печать в терминальных службах»

1. Как включить

2. Групповые политики

3. Схемы «родной драйвер» и «драйвер подстановки»

4. Схема со Screwdrivers

5. Совместимые с терминалами принтеры

6. Печать через VPN

Часть вторая, решение проблем

1. Типы проблем с печатью в терминалах

2. Проблемы со спулером

3. Драйвер перенаправления

4. Реестр

5. Визард устранения проблем от Майкрософт

6. Если больше ничего не помогает, а печатать принтер должен

7. Печать на медленных каналах

8. Полезные ссылки

Что такое печать в терминальных службах

В 90-х Майкрософт разработал специальную роль для Windows NT 4.0 Server под названием Terminal Server. Роль оказалась популярной и востребованной. Функционал у неё довольно простой: используя специальное ПО mstsc.exe («Подключение к удалённому рабочему столу»), входящее в поставку всех современных версий и редакций клиентских ОС Windows (кроме, пожалуй, Windows Phone), можно подключаться по сети к удалённому серверу и видеть рабочий стол удалённого сервера и управлять им при помощи мышки и клавиатуры как своим собственным.

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

В отличие от множества других методов транспортировки изображения по сети (VNC, RAdmin, DameWare, Teamviewer, AMMYY Admin и проч.), майкрософтовские терминалы не гонят отсканированную с видеокарты графику, вместо этого они заново отрисовывают все окна на стороне клиента, пользуясь Windows API и проч, передавая по сети только текстовые команды типа «отрисовать такое-то окно такого-то размера с таким-то градиентом». В результате требования по ширине канала для работы очень низкие, и очень высокая скорость работы в стандартных оконных интерфейсах Windows. Впрочем, отличную от окошек графику терминалы гонят также, как и конкуренты, поэтому в терминалах всегда начинаются тормоза при попытке смотреть/редактировать видео и графику.

Протокол, по которому осуществляется передача данных с сервера терминалов на клиентскую рабочую станцию, называется RDP. С выходом OS Windows Server 2008 R2 терминалы переименовали в Microsoft Remote Desktop Services (службы удалённых рабочих столов). Но, как это обычно бывает в Майкрософт, переименование коснулось только поверхностного слоя, глубоко же внутри функции, ключи реестра и проч. по-прежнему называются на Terminal Services. Кстати, иногда бывает даже такое, что при троекратном переименовании продукта на самом поверхностном слое продукт имеет третье название, чуть глубже — второе, более старое, а на самом низком уровне абстрагирования — первое, ещё более старое, именно так обстоит дело с продуктом Forefront TMG, впрочем, не будем отвлекаться.

Существует и более серьёзная версия терминалов, которой занимается компания Citrix. Это решение для крупных компаний, держащих т.н. «фермы» терминальных серверов. За это решение платятся дополнительные деньги сверх уже заплаченных за лицензии на майкрософтовские терминалы, но оно серьёзно облегчает работу, т.к. позволяет централизованно управлять всей фермой, централизованно ставить софт и его настраивать, по-умному раскидывать юзеров между членами «фермы» и т.п. Это решение переименовывалось ещё большее количество раз, начиная от Citrix WinFrame, через MetaFrame, через Citrix Presentation Server, до Citrix XenApp. Протокол для этого решения называется ICA, однако, внутри он является тем же RDP (и потому для XenApp верно многое из того, что верно для RDP и наоборот), исходные коды которого MS лицензирует Цитриксу, без чего XenApp был бы, скорее всего, невозможен и Цитриксу пришлось бы довольствоваться унылым, тормозным и требовательным к ширине канала методом транспортировки десктопа, аналогичным тем, которые используются Radmin, Teamviewer и так далее.

Удалённый десктоп это прекрасно, но рано или поздно юзер сталкивается с тем, что из удалённых приложений ему нужно печатать на принтер. При этом редко кому и когда нужно печатать на принтер, который подключен к удалённому серверу терминалов, который от юзера находится нередко в сотнях и тысячах километров. Печатать нужно на свой, локальный принтер. Для решения этой задачи предлагались в разное время разные методы, все они были не без недостатков, порождающих различные проблемы, которые мы тут и постараемся исчерпывающе описать и предложить соответствующие им решения. Эти методы в разных контекстах называются «printer mapping», «printer redirection», « Easy Printing» а по-русски «перенаправление печати», «сопоставление принтеров» и т.д.

Поскольку аудиторией этого текста являются русскоязычные юзеры и админы, то большинство скринов будет на русском, тем более что в подавляющем большинстве организаций в России терминальные серверы стоят русифицированные, т.к. на них работают пользователи. Среди back-end серверов доля нерусифицированных, конечно, выше чем среди терминальных серверов.

1. Как включить печать в терминальных службах

Очевидное (опытные админы могут пропустить), а именно, как включить перенаправление печати, если оно не включено. На стороне клиента для подключения к серверу терминалов используется программа mstsc.exe, она же «Подключение к удалённому рабочему столу».

подключение к удаленному рабочему столу

Нажать на «параметры», в закладке «локальные ресурсы» убедиться, что стоит галка на «Принтеры». Не требует административных прав.

галка принтеры

На стороне сервера нужно запустить tscc.msc (в 2008 и выше tsconfig.msc), на RDP-Tcp нажать правую клавишу мыши, выбрать «Свойства» и в закладке «параметры клиента» убедиться, что НЕ стоит галка на отключить «Сопоставление принтеров». Это действие требует наличия прав администратора на сервере терминалов.

сопоставление принтеров

На этом всё, после выполнения этих нехитрых требований по мнению Майкрософт Вы можете печатать из удалённого рабочего стола на свой локально установленный принтер. В этом скриншоте показан удалённый рабочий стол, на который «пробросился» локально установленный принтер Samsung:

пробросили принтер samsung

Не пробросился? Читаем дальше.

2. Групповые политики

Бывает и такое, что галка на отключить «сопоставление принтеров» на предыдущем скриншоте стоит, а убрать её нельзя, т.к. надпись серая, или, говоря в англоязычной программистской терминологии, этот «checkbox» is «greyed out»:

групповые политики

Такое бывает, если настройками сервера терминалов управляют групповые политики (group policies). Если сервер терминалов является членом домена Windows (он же Active Directory Domain Services), а скорее всего это так, то для управления групповыми политиками нужно быть администратором домена. Для установки соответствующих настроек администратору домена следует на контроллере домена запустить gpmc.msc (если её нет, то dsa.msc) и открыть интерфейс редактирования политики, относящейся к данному терминальному серверу. Если же сервер терминалов не входит в домен и является т.н. «stand-alone» сервером, то на нём также есть локальные групповые политики, которые можно отредактировать при помощи gpedit.msc. Интерфейс в обоих случаях одинаковый, поэтому инструкции подойдут для обоих случаев:

Настройка политик GPedit.exe

Здесь следует обратить внимание на настройку «не разрешать перенаправление клиентских принтеров», она должна быть в состоянии «не задано» или «отключено».

3. Схемы «родной драйвер» и «драйвер подстановки»

Если настройки по перенаправлению принтеров выполнены как указано выше, то принтер будет перенаправляться ТОЛЬКО в том случае, если на терминальном сервере ТАКЖЕ установлены драйверы на принтер того производителя и той модели, который стоит у юзера локально. В противном случае перенаправляемый принтер на сервере терминалов скорее всего создан не будет, а в журнале событий «Система» появится сообщение от провайдера TermServDevices с кодом 1501 и содержанием, указывающим на то, что на терминальном сервере не установлен соответствующий драйвер.

Поэтому для работы перенаправления печати с сервера терминалов на локальный принтер следует ставить драйвер принтера и на локальном ПК, с которого осуществляется подключение, и на удалённом сервере, на который осуществляется подключение.

Но, такая схема работы имеет очевидные недостатки. Например, туговато приходится администраторам серверов, к которым подключаются сотни людей у многих из которых установлены самые разные принтеры. Такой сервер терминалов рано или поздно превращается в помойку из десятков и сотен драйверов принтеров, которые могут конфликтовать друг с другом и в конце концов вообще угробить всю подсистему печати целиком (о том, как её восстанавливать см. ниже главу про cleanspl). Кроме этого не на все принтеры, особенно принтеры для диапазона SOHO, существуют драйверы для серверных операционных систем, а драйверы для десктопных систем (таких как XP/Vista/7/8) часто не встают на соответствующие им серверные ОС (такие как 2003/2008/2008R2/2012). Ну и в конце концов установка драйверов это муторный процесс, которым администратору заниматься неохота.

Слава Гейтсу, существует и альтернативное решение, а именно, подстановочный драйвер. Дело в том, что несмотря на различия, большинство принтеров имеет много общего и, невероятно, но факт, на них можно печатать с использованием унифицированного PCL или PS драйвера. Подстановку унифицированного драйвера можно задать только с помощью групповых политик, поэтому для установки соответствующих настроек администратору следует на контроллере домена запустить gpmc.msc (если её нет, то dsa.msc) и открыть интерфейс редактирования политики, относящейся к данному терминальному серверу. Если же сервер терминалов не входит в домен и является т.н. «stand-alone» сервером, то на нём также есть локальные групповые политики, которые можно отредактировать при помощи gpedit.msc. Интерфейс в обоих случаях одинаковый, поэтому инструкции подойдут для обоих случаев:

подстановка универсального драйвера принтера

Если включить политику «Поведение сервера терминалов при выборе подходящего драйвера принтера» и в следующем окошке выбрать подстановку PCL и/или PS драйвера, то при подключении к серверу терминалов у юзера будет автоматически создаваться перенаправленный принтер, даже если на сервере соответствующий драйвер не установлен.

Увы, этот метод имеет своим недостатком то, что подстановочный драйвер сработает не для всех принтеров. Для большинства принтеров он работает, но для некоторых нет. Прежде всего этот метод не подойдёт для т.н. host-based драйверов принтеров, т.к. они не являются PCL- или PS- совместимыми. Иногда заставить печатать host-based принтеры всё-таки можно, установив на сервер драйверы для этих моделей, но некоторые модели не имеют драйверов для серверных OS. В ряде случаев эта проблема решаема, см. далее главу о Tricerat Screwdrivers. Подстановочный драйвер, если посмотреть на него внимательно, является драйвером HP DeskJet 500:

подстановочный драйвер HP DeskJet 500

С выходом ОС Windows Server 2008 Майкрософт представил решение Easy Printing, которое позиционировалось как панацея для многочисленных проблем с печатью в терминалах. Идея заключается в создании специального перенаправленного принтера с Easy Print драйвером, который печатает в XPS (Майкрософтовский открытый формат документов, призванный заменить pdf, но успеха не снискавший), а XPS затем переправляется на сторону клиента, где благополучно печатается на локальный принтер как XPS документ. В теории такой метод печати решил бы все проблемы, но на практике то ли Майкрософт этот метод до ума не довёл, то ли на него надавили производители принтеров и/или альтернативных решений для печати в терминалах, но Easy Printing проблем с печатью так и не решил: всё осталось как и раньше: подключаешь к терминальному серверу нового клиента и надеешься на то, что его принтер удастся «подружить» с терминалами, своего рода «connect and pray». Как бы то ни было, Easy Printing включается также через групповые политики, там же, где и драйвер подстановки:

Easy Printing

4. Схема со Screwdrivers

Поскольку проблем с печатью на терминалах всегда была адовая прорва (по данным некоторых ИТ аутсорсеров, проблемы с печатью это наиболее часто встречающиеся проблемы), свою нишу нашли компании, которые делали процесс печати из терминалов более удобным, а иногда и вообще его просто «делали», когда иначе печатать было просто невозможно.

Решение Tricerat Screwdrivers платное. Оно состоит из серверной части (ставится на сервере терминалов) и клиентской части (есть msi пакеты, удобные для масс-деплоймента через ГП или SCCM). Особых настроек не требует и обычно всё прекрасно работает с настройками по-умолчанию после установки на сервере и на всех клиентах. После простой установки обычно клиент оказывается способен печатать на свои принтеры, на которые не удавалось настроить печать без screwdrivers. Поскольку этой статьи тогда ещё не было написано, а спецов по терминальным серверам не так много, то настройка терминальной печати и решение проблем с ней могло затягиваться на часы и дни. Поэтому многие приняли разумное решение по радикальному решению проблем с терминальной печатью: купить и задеплоить Screwdrivers. Кроме собственно печати Screwdrivers позволяют осуществлять тонкий тюнинг терминальной печати, например, регулировать ширину канала для печати:

настройка Screwdrivers

Но… не всё оказалось так просто. Дело в том, что существуют некоторые, особо жадные производители принтеров (не будем говорить кто, хотя это Hewlett-Packard), которые СПЕЦИАЛЬНО (это не факт, а моё оценочное суждение) отрезают поддержку печати в терминалах на принтерах, позиционирующихся для рынка SOHO. Это всё делается, конечно, для повышения продаж, т.к. решение HP для случаев непечати в терминалах простое: покупайте новый, более дорогой девайс. Такие модели принтеров зачастую не печатают даже со screwdrivers и в этих случаях ничего сделать невозможно, только менять принтер на совместимый с терминалами. О том, как определить совместимость принтера с терминальной печатью рассказываем в следующей главе.

5. Совместимые с терминалами принтеры

Как правило, все современные принтеры любых производителей ценой хотя бы от 5 т.р. совместимы с печатью в терминалах, за исключением Hewlett-Packard. Если Вы верны традициям печати этой компании и хотите приобрести принтер непременно этого производителя, то существует специальный, регулярно обновляемый документ производства Citrix & HP, который легко ищется в Сети по ключевым словам «Citrix XenApp HPPrinters supported» (ссылку намеренно не даю, т.к. постоянно выходят новые версии и меняется URL). Здесь нам поможет информация из первого абзаца, а именно, тот факт, что XenApp есть надстройка над майкрософтовскими терминалами, позволяет с определённой долей уверенности утверждать, что принтеры, поддерживаемые в среде XenApp, скорее всего также будут печатать и в среде MS Terminal Services & MS Remote Desktop Services. Автору пока неизвестно ни об одном случае отклонения от этого правила, и принтеры, поддержка которых заявлена в этом документе, оказывались печатающими и в майкрософтовских терминалах.

Помимо HP, Citrix также поддерживает аналогичные списки и для устройств некоторых других производителей, например, для принтеров Xerox. По мнению автора, сам факт существования таких списков у Цитрикса свидетельствует о том, что производители, для устройств которых составляются такие списки, поддерживают печать в терминалах ПЛОХО. Именно поэтому Цитрикс и вынужден эти списки составлять и публиковать. Отсутствие таких списков в отношении устройств Samsung или Kyocera, по мнению автора, свидетельствует о том, что с печатью в терминалах у этих устройств всё в порядке. Автору, пожалуй, ни разу не доводилось встречать хоть сколько-нибудь серьёзных устройств (исключая понятные случаи вроде переносных персональных принтеров, всяких там древних струйников и т.п.) этих производителей, в которых терминальная печать была бы невозможна.

список совместимых принтеров citrix

Увы, список этот неполный и трудно понять, если, конечно, не привлекать к объяснению теории заговора, почему уже давно продающиеся модели принтеров долго не включаются в этот список. Однако, общее правило такое: если модели принтера в списке нет, то лучше не брать: существует значимая вероятность того, что принтер окажется несовместимым с печатью в терминалах.

6. Печать через VPN

Настроить печать на перенаправляемый принтер в терминалах так и не удалось? Есть гарантированно рабочее решение, которое будет работать с любым принтером, на который можно печатать через «службу доступа к общим папкам и принтерам», она же SMB. Для этого локальный принтер следует «расшарить» для общего доступа и установить VPN-канал между клиентским ПК и сервером. Самые простые варианты это RRAS на сервере и PPTP-клиент (встроенный в Windows) на клиентском ПК или OpenVPN. После установки канала необходимо просто подключить печать по сети на расшаренный на клиентском ПК принтер стандартными средствами, убедившись, что прохождению траффика SMB не препятствует firewall и прочее.

Таким же способом к серверу терминалов через VPN можно подключать сетевые принтеры, через «Стандартный порт TCP/IP», для чего нужно обеспечить прохождение порта TCP 9100, используемого для печати на сетевые принтеры.

Единственная возможная проблема с этим способом заключается в отсутствии драйверов для принтера под серверную OS, на которой развёрнуты службы терминалов. Если п. 2 и 3 также не помогают, то в этом случае точно поможет только приобретение нового принтера.

Часть II

1. Типы проблем с печатью в терминалах

Все проблемы с терминальной печатью можно условно разделить на несколько типов. Типы указаны в порядке приоритета при решении проблем с печатью, с учётом трудозатратности шага и вероятности возникновения проблемы именно такого типа.

а) Локальные проблемы с печатью. Для их решения нужно прежде всего убедиться, печатает ли принтер локально. Может, у него бумага кончилась или ещё что. Проблемы этого типа в настоящем руководстве не рассматриваются

б) Проблемы с отсутствием драйверов на сервере терминалов: никакие принтеры не перенаправляются, кроме тех, драйверы на которые входят в стандартную поставку Windows. Для решения проблем такого типа необходимо устанавливать драйверы на сервере и/или настраивать поведение сервера при отсутствующих драйверах (Easy Print и драйвер HP DeskJet 500), см. часть I, п. 2 и п. 3

в) Проблемы с отсутствием печати на успешно проброшенный принтер. Метод решения такого типа проблем следующий: смотрим какой драйвер подцепился к проброшенному принтеру, Easy Print или DeskJet 500, пробуем их менять местами; если не помогает, то ставим на сервер родной драйвер (если их больше 1, то последовательно пробуем все, т.к. в случае HP бывает, что старые драйверы работают, а в новых поддержка терминалов уже отрезана) и убеждаемся, что к проброшенному принтеру подцепился именно родной драйвер; если это не помогает, то продаём клиенту и разворачиваем Tricerat Screwdrivers, предварительно протестировав возможность печати через него в Trial версии; если это не помогает то увы, только замена принтера или печать через VPN, см. часть I, п. 6

Редко возникающие проблемы

2. Проблемы со спулером

Симптомы:

Служба Spooler, она же spoolsv.exe, он же «Диспетчер очереди печати» тупо останавливается без объяснения причин. При рестарте опять останавливается через несколько секунд. Такое часто бывает из-за кривых драйверов на дешёвые принтеры и часто случается на терминальных серверах, на которых используется схема без драйверов подстановки, т.е. устанавливаются драйверы на все модели принтеров, установленных у клиентов. Также могут быть и другие варианты, типа ни один принтер не пробрасывается, хотя драйверы стоят и т.п.

Что делать:

Поскольку указателя на то, из-за чего именно вылетает spooler в таких случаях обычно не бывает, то проще и быстрее всего полностью зачистить всю подсистему печати сервера и заново выполнить настройки печати и поставить драйверы. Для этого пригодится утилита cleanspl.exe из Resource Kit for Windows Server 2003. Запускаем, соглашаемся, утилита полностью выпиливает и зачищает всю подсистему печати сервера. В 2008 и выше не поддерживается, для этой ОС Майкрософт предлагает такое решение: http://support.microsoft.com/kb/2000007

После действия cleanspl.exe мониторы печати нужно восстанавливать вручную с новой аналогичной операционной системы:

Типовой файл реестра прилагается к этому документу. Достоверно известно, что для работы перенаправления печати в терминал требуется USB Monitor, см. ч. II, п. 4.

3. Драйвер перенаправления

Симптомы:

Не создаются перенаправляемые принтеры и в «диспетчере устройств» в «системных устройствах» отсутствует специальное устройство «перенаправитель устройства сервера терминалов», он же «remote desktop device redirector bus», в 2003 выглядит так:

перенаправитель устройства сервера терминалов

В 2008 R2 выглядит так:

перенаправитель устройства сервера терминалов server 2008

Что делать:

Переставлять драйвер редиректора, inf-файл поставляется вместе с системой, для установки можно воспользоваться утилитой devcon.exe (http://support.microsoft.com/kb/311272):

devcon -r install %windir%\inf\machine.inf root\rdpdr

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

4. Реестр

Симптомы:

Не перенаправляются никакие принтеры. Из-за неверно выставленных прав на реестр или по иным причинам не выставлена правильно или отсутствует запись реестра.

Что делать:

В ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd создать запись типа DWORD fEnablePrintRDR и установить её в 1.

В ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\USB Monitor создать запись типа «строковой параметр» Driver и установить её значение в usbmon.dll (сам файл правильной версии должен присутствовать в %windir%\system32)

5. Визард устранения проблем от Майкрософт

Мне ни разу не помог, но на всякий случай Terminal Server Printer Redirection Wizard Tool

http://www.microsoft.com/en-us/download/details.aspx?id=5640

6. Если больше ничего не помогает, а печатать принтер должен

Стандартные проблемы: переставить последний сервис-пак и накатить обновления, выполнить sfc /scannow, убедиться что принтер таки может печатать на другом таком же терминальном сервере с такой же OS и т.п.

7. Печать на медленных каналах

Особенно касается всяких допотопных DSL модемов, 3G-модемов и т.п. Т.к. для работы терминала не требуется широкополосного доступа, то у пользователя может возникнуть ощущение, что с его интернетом всё ОК, до тех пор, пока он не начнёт печатать. Задание на печать может занимать несколько мегабайт и на медленном канале печататься спустя десятки минут после отправки на печать. Если такое поведение для клиента неприемлемо, можно попробовать Screwdrivers, который позволяет сжимать траффик печати, либо убедить его приобрести нормальный интернет.

8. Полезные ссылки

Группа проблем печати в терминалах: http://ts.veranoest.net/ts_printing.asp

Ключи реестра сервера терминалов: http://etutorials.org/Microsoft+Products/microsoft+windows+server+2003+terminal+services/Chapter+6+Registry/Registry+Keys+for+Terminal+Services/

Если не получилось — заказывайте мастера на выезд http://remont-kompjuterov-perm.ru/

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Open

SeRom7640 opened this issue

Jun 5, 2018

· 59 comments

Comments

@SeRom7640

I use rdpwrap 1.6.2
image
It seems that since the V1803 update, some printers redirections don’t work any more. Some cases :

  • redirection of local usb printer works if the client is on the same local network of the wrapperServer
  • redirection is visible but not operational for network printers on the same local area network
  • through the internet, redirection does not work at all, sometimes printers are visible, sometimes not. But when viewable, the print seems to work, the wrapperqueue is empty after e few moment but the local printer queue seems to hang and the printer also.

This probleme appears with the 1803 Win10 update.

Have a solution ?
Thanks

@SeRom7640

trying the post #487 (in russian) has no result.

@glintvein

I have the same problem. I have 3 PC (win 10 + win 10 + win 7). If I conect from 1st PC with WIN 10 to server windows 10 i can use (i saw) local printer, but from other two PC dont see local printer. When i conect before install RDP wrapper I saw local printer, after install RDP i dont see local printer trought two PC

@glintvein

trying the post #487 (in russian) has no result also

@SeRom7640

For testing, I have just configured a new pc under win10 pro v1803, connecting one user trough RDP before installing RDPWrapper works fine, client local printers (even USB or network one) are shown and printjob works fine. After installing RDPWrapper, some printers are not shown and some printers shown with «redirection of…) seems to work but nothing is printed. the redirected print queue in the RDP session received the job, the job disapear from the queue, but when watching to the local queue, the job seems to wait for the printer and the printer is in a busy state but nothing is printed. In my case the USB printer, a Canon iP4950 works fine, but the network printer, a Canon Maxify MB5350 is hanging and stays busy.

@glintvein

In my case network LaserJet 400 MFP. Printer work only on the one PC. For three days I can not find a solution to this problem. Why after install RDPWrapper the printer is no longer displayed?

@SeRom7640

I also have another problem on another site with a Network Brother DPD multifunction. before v1803, the client computer connected to the RDPWrap server trough the internet and the local Brother was correctly redirected in the RDP session and works fine. Since the v1803, both of three remote RDP session do not show the brother printer any more and the last one shows the Brother but hanging up when trying to print trough the RDP session.

Please to project developpers : Help us solving this case…

@binarymaster

I don’t know how to solve this issue, try experimenting with values in rdpwrap.ini.

@SeRom7640

Could you reproduce this case at your own office ?
where can I find explanations about rdpwrap.ini content ?

@BernardGoldberger

@astralmaster

Try opening rdpwrap.ini file and locating «TerminalServices-DeviceRedirection-Licenses-TSEasyPrintAllowed=1» line and changing its value to 0.

@SeRom7640

stopping the TermService, modifying the flag to 0, restarting the service and trying… no result it does not work. Also trying with params in GPEDIT.MSC «use first the EasyPrint Driver» to disable or enable.
Redirecting printers don’t work anymore with RDP Wrapper since Win10 v1803. If uninstalling RDP Wrapper, printer redirection works fine for the unique session.
it seems that RDP Wrapper can’t use EasyPrint Drivers any more but using standard drivers causes printers to hang.

@glintvein

My one PC can work, other not. Why i dont know. I try find solution

@tvcat

Printer redirection to Windows 7 Home (RDP server) never work before.
Windows 7 Pro work fine.
If you can not see the printer from Windows 10 1803 client on the RDP server then you need to install the printer driver at the RDP server.

@SeRom7640

Windows 7 is not the subjetc of this post, only Windows 10 v1803.
And the problem is not that printed are not shown on the printer panel, they are shown but they don’t work.
All the RDP Wrapper I installed before the v1803 worked fine with or without the RDP EasyPrint Driver. When the EasyPrint Driver could not be used, the classic driver was installed and worked fine. Since Windows upgraded to v1803, the RDP EasyPrint Driver is never used and the classic driver used instead causes the printer to hang with a busy message on its display panel. The print job is correctly created on the server print queue (the redirected one), seems to be correctly transfered to the local print queue, seems to begin to print but hang up indefinitively. The commercial product XP/VS from the editor ThinStuff.com seems to have the same problem with classic driver, but in their case, the RDP EasyPrint Driver works well.

@tvcat

Nope, like i said before it did work on 1803.
Either print over the LAN or Internet.

@SeRom7640

before v1803, it worked also for me through both LAN and Internet. the only printer still working is an old Canon ip 4950. But it is only a USB printer not a LAN one, nor an MFP one.
When using my MFP Canon MB5350 in LAN or USB connect, it does not work, idem for my Brother DCP MFP.
Are MFP impacted by v1803 ???
@glintvein seems to have also an HP MFP

@tvcat

Nope i have multi function too and it work.
It has nothing to do with RDP Wrapper.

@SeRom7640

does it use RDP EasyPrint driver or the classic driver for your MFP ?
under your RDP session, open «Devices and Printers» — Highlight the printer and scroll down to the bottom of the window, Here you will find «Model» —> which driver is listed ?
like this showing the EasyPrint device
image
or this
image

for me, since v1803, the Remote Desktop Easy Print is no more used with RDP Wrapper, it is always the classic driver that is used.
The picture you see above with the Easy Print Driver is the one used by the commercial product ThinStuff.com XP/VS.
Nor RDP Wrapper, nor XP/VS can use the classic driver now, it causes the printer to hang, I don’t know why ?

@tvcat

@SeRom7640

are you sure you are in Windows 10 v1803 ?

@tvcat

@SeRom7640

no Sir, certainly not ! Sorry if you think so.
But I don’t understand what it happens on all my RDPWrapper (or customer’s ones) since v1803.
Do you think it’s possible that the Windows language was the origin ? All my Windows are installed in French ?

@tvcat

I can’t test other language as i have only English copy but i doubt it is related to language.
I can not troubleshoot your problem as i do not have a same problem PC on hand.
Maybe you can test a fresh copy of Windows 10 1803 on a spare hard drive.

@SeRom7640

I’ll try it on a new pc, just arrived from my supplier. I’ll feedback later, probably friday.
See you later…

@tvcat

Good luck.
As i said before if the printer didn’t print or not showing up, just install the driver on the RDP server.

@SeRom7640

driver is correctly installed on the RDP server but it does not work any more since V1803 even on a new machine. And Easyprint driver doe not work anymore also.

@grmblr

I’m having the same issue. None of the above mentioned tricks helped to solve it.
Any update on that? Is there a hope that it will be fixedin the next RDPwrap version?

@SeRom7640

the commercial product XPVS (www.thinstuff.com) made recent change to their RDS to work again since v1803. RDPWrap developpers seems not seeing the problem… A pity…

@binarymaster

@SeRom7640 comparing a commercial company with an open source project with 1-2 hobby developers does not sound good.

@SeRom7640

one more thing : I don’t make profit with RDPWrap, I installed it free of charge to my customers.
Thank you for your valuable help.

@vandenk

Hello,
Same problem here with Win10 1803 Enterprise French ….

Opening an RDP session on a PC that does not have RDPWrapper installed :
1803print nowrap

Opening an RDP session on a PC that has RDPWrapper installed :
1803print wrap

The «Easy Print Driver» not working with RDPWrapper installed

@SeRom7640

it seems to be caused by the French version of Win 10 v1803. Very strange 😒

@vandenk

YakovGoldberger commented on 18 Jun
I use this solution which is simpler and works, although it can break more easily it’s simple enough to fix. @SeRom7640 rule of thumb, have clients pay for any business needs and not cut corners with hacks.

Solve the problem with Esay Print !
But concurrents sessions (with the same user) does not work.

EDIT
Especially do not install RDPWrapper with the patched dll !
Because you will no longer be able to open sessions (local or remote) !!

@vandenk

Same problem with a new clean install (this time Win10 1803 x64 Pro French on other PC).
Iso file recovery at microsoft by «MediaCreationTool1803».

@devalian

im having the same problem here, in case there is any tracking or logs required.

using RDP with rdpwrapper wont print, but direct rdp works ok. currently im using workaround, but linking rpd server to client using rdp, then print via local network. rdpwrapper still installed for concurrent session.

@novaflash

I have the exact same problem with Win 10 v1803 and RDPwrapper latest update in Dutch version of Windows.

@reidjim76

Noticed the same problem with the latest RDP Wrapper. I went back to manually editing the termserv.dll file (as linked by YakovGoldberger above) and can now do concurrent sessions and use Remote Desktop Easy Print.

@PXL22

Last Windows 10 update v1809 has solved the same problem here (French version of Windows) !

@CharlieF2

Has anyone other users seen that v1809 «solved the same problem»? PXL22 I take your post to mean that redirected printing is now working with the 1809 version of Windows 10?

@PXL22

Sorry but my last post is incorrect. In fact the redirected printing is now working with V1809, but the multi-session is not :-/

@SEEDWISHER2

The best solutions for me is to use GOOGLE CLOUD PRINT. So everybody can print. Use the virtual driver and then print … ^^

Best regard.

@mrPsycho

+1 to guys, who wants it to be fixed)

upd. i don’t know why, but i’ve installed driver for printer and redirection seems to be working.

@CharlieF2

I have also solved this issue by first installing the printer driver under each user’s log in on my «server» PC and then making sure that the exact same driver is used on the remote computer which is RDPing into the server PC. I have also seen that if you have the same user name used for both logging into the «server» PC as well as on the remote computer — and both of these user accounts should be Administrator accounts. If you do all of the above then remote redirected printing over the Internet will work perfectly with RDPWrap 1.62 and Windows Professional version 1803. My experience shows that this issue should be closed at this point. Hope this helps everyone who was having problems printing remotely.

@thidiniz

Printer redirection is not working here either. Windows 10 Pro 1809 PT-BR. Tested with MS Print to PDF and CutePDF as i need to be able to save PDF on local computer. Uninstalled RDP Wrap, patched termsrv.dll and now its working as it should be.

Before that, i tried all info above, specially installing same drives on host/guest, forcing use Easy Print Driver by GPO, but it doesnt work with rdpwrap, so I use the patched dll.

@check4game

Uninstalled RDP Wrap, patched termsrv.dll and now its working as it should be.<<

on patched termsrv.dll (v17763.168) .. now it’s working as it should be….. i’am happy :)))

@grmblr

Uninstalled RDP Wrap, patched termsrv.dll and now its working as it should be.<<

on patched termsrv.dll (v17763.168) .. now it’s working as it should be….. i’am happy :)))

Congrats! But where did you find patched termsrv.dll?

@xDarkio

Would like to ask for some help too. After 1809 update RDPwrapper stopped working. After some reserch managed to get it working back as it did on older build but now users having some problems with redirected printer which reports with error after each print.

My wrapper config looks like this:
rdpwraper config

I use non standard RDP port for security reasons but that is working fine and it is configured on OS and router so no problems is here, as i mentioned it worked fine before

My OS build that i get with «winver» run command:
winver

It was strange that winver shows different OS build version that my wrapper identifies but it managed to work after i added some lines in rdpwrap.ini file and those only worked that config shows and not those that winver shows. well iam adding my .ini file too
rdpwrap.zip

The printer environment is:
Printer connected to client via USB > Client/User connects to RDPWrapped PC through Remote desktop connection tool > tries to print and gets error on redirected printer.

Other scenario that is currently working as workaround as that printer is shared printer and CLIEN/USER and HOST «wraped PC» is in same network. on host pc i added shared printer and it does print but because RDC conncetion caries default printers to host it changes default printer in host environment

So now question is anyone can help me to get printers back to work on Remote desktop connection tool?

@novaflash

Just pitching in with the complaints. There are newer versions of Windows 10 out that are not supported by RDPwrap and you need to do some work with rdpwrap to get it working again. But the printer redirection problem is still there, but not on the English language version of Windows 10. I use Dutch, some other guy here used a French version, and encountered the same problem.

It is very unfortunate, but RDPwrap is no longer the solution I can use. I use a manual patch now and that works fantastic and printer redirection works fine then too. RDPwrap however breaks printer redirection on non-English platforms and this has been confirmed many times and is entirely reproducible without any special conditions aside from language version of Windows OS.

@xDarkio

novaflash would you be kind to share with manual patch? and to mention its English language install without any language changes done, and also it seems that RDC stopped carrying other users local printers into HOST «Wrapped PC» enviroment

@xDarkio

@bulgaru

Hey, guys!

I’ve spent a day trying to figure out how come my old Windows 10 Pro instances had printer forwarding working properly, while the new Windows 10 Enterprise instances were not. It turns out — there was some version of the wrapper that worked like a charm for 1803 version. I am not technically skilled to understand what is the difference between the latest version and the one that i am using, but i hope it’ll help some of you out there. There are 3 files (patched.zip):

  1. termsrv.dll — goes into system32 folder
  2. rdpwrap.dll — goes into the wrapper’s Program Files folder
  3. rdpwrap.ini — goes into the wrapper’s Program Files folder

Keep in mind! You need to update all files at once, otherwise you risk locking yourself out of the windows and you’ll need to boot into Safe Mode to correct it. The best approach is, if you have a VM with windows running — get console access (not RDP) to edit all the files (otherwise you’ll get the complaint that some of these files are in use).

The algorithm for the installation:

  1. Backup your original termsrv.dll (system32 folder, by changing ownership and granting full rights) and rdpwrap.dll & rdpwrap.dll (Program Files inside RDP Wrapper folder)
  2. Install the latest RDPWrap
  3. Test it, so that you are certain that it works
  4. Login via console and substitute (delete and copy the ones from the archive) all 3 files patched.zip

I encourage the maintainers to have a look at these files in order to understand why the latest version does not work, while this one does.

Best of luck and thank you to the creators of this awesome tool!

@PXL22

This is THE solution, all is working fine now on v1803 !
@bulgaru 👍 Thanks a lot for your work and last comment !

Hey, guys!

I’ve spent a day trying to figure out how come my old Windows 10 Pro instances had printer forwarding working properly, while the new Windows 10 Enterprise instances were not. It turns out — there was some version of the wrapper that worked like a charm for 1803 version. I am not technically skilled to understand what is the difference between the latest version and the one that i am using, but i hope it’ll help some of you out there. There are 3 files (patched.zip):

1. termsrv.dll - goes into system32 folder

2. rdpwrap.dll - goes into the wrapper's Program Files folder

3. rdpwrap.ini - goes into the wrapper's Program Files folder

Keep in mind! You need to update all files at once, otherwise you risk locking yourself out of the windows and you’ll need to boot into Safe Mode to correct it. The best approach is, if you have a VM with windows running — get console access (not RDP) to edit all the files (otherwise you’ll get the complaint that some of these files are in use).

The installation algorithm for installation:

1. Backup your original termsrv.dll (system32 folder, by changing ownership and granting full rights) and rdpwrap.dll & rdpwrap.dll (Program Files inside RDP Wrapper folder)

2. Install the latest RDPWrap

3. Test it, so that you are certain that it works

4. Login via console and substitute (delete and copy the ones from the archive) all 3 files [patched.zip](https://github.com/stascorp/rdpwrap/files/2851823/patched.zip)

I encourage the maintainers to have a look at these files in order to understand why the latest version does not work, while this one does.

Best of luck and thank you to the creators of this awesome tool!

@DrLove73

  1. Login via console and substitute (delete and copy the ones from the archive) all 3 files patched.zip

So is the only solution to have EasyPrint functional to use ancient termsrv.dll from 2018?

@DrLove73

Setting SLInitHook.x64=0 might have worked after all, I will update this in a day or two when I see how it behaves.

Предисловие

Не так давно при расширении нашего заказчика возникла потребность временно предоставить доступ множества новых пользователей не из корпоративной сети к терминальному серверу заказчика на Windows Server 2008R2 с . Естественно, одной из задач было обеспечить возможность печати на локальные печатающие устройства пользователей(добавление принтеров на терминальный сервер технически было нереализуемо по причине расположения печатающих устройств в другом городе/сети/IT-нфраструктуре).

Предварительно выполнив настройку систем и предоставив пользователям ярлыки rdp подключений в день «Д» мы махнули рукой дав старт работы с системой. Счастье от проделаной работы было недолгим. Большое количество пользователей с огромным количеством подключенных принтеров на их рабочих местах повесили сначала пользователей (они не могли определить какой принтер был их, так как появлялись по 40-100 принтеров с одинаковым названием с разницей в Redirect [0-9]), потом и систему печати 1С (при более 130 принтерах окно вывода на печать требовало около 5 минут ожидания, потом и вовсе не открывалось и приложение падало).

Включение наспех в локальных политиках терминального сервера redirect only default printer не решило проблему, и запуск работы пришлось отложить.

Что делать?

Отключить у пользователя в свойствах окружения его аккаунта Active directory множественный проброс устройств.

Свойста User аккаунта Active Directory

Environment - Client Devices - Connect client printers at logon.

В русскоязычном интерфейсе

Среда - Устройства клиента - Подключение принтеров клиента при входе


Оставить checkbox 

Default to main client printer

 — По умолчанию выбирать основной принтер клиента

Автоматизация

При наличии более одного клиентского аккаунта путь мышкокликания в Active Directory Users and Computers является откровенным моветоном, а при более сотни клиентских аккаунтов еще и настоящим безумием с непреклонным слабоумием.

The Environment, Sessions, Remote Control, and Terminal Services Profile pages are supplied for a user object to support terminal services. The UI elements for these pages do not correspond to individual attributes. Instead, the settings are stored in private data within Active Directory Domain Services. The terminal services settings can be accessed with the IADsTsUserEx interface.

Доступ к этим свойствам лежит через IADsTSUserEx interface :

ConnectClientDrivesAtLogon

Read/write

A value that specifies if mapped client drives should be reconnected when a Remote Desktop Services session is started.

ConnectClientPrintersAtLogon

Read/write

A value that specifies whether to reconnect to mapped client printers at logon. The value is one if reconnection is enabled, and zero if reconnection is disabled.

DefaultToMainPrinter

Read/write

A value that specifies whether to print automatically to the client’s default printer. The value is one if printing to the client’s default printer is enabled, and zero if it is disabled.

Для внесения изменений мы должны выполнить следующие действия над объектами в Active Directory:

Get-ADUser -Filter * -SearchBase "OU=USERS,******,DC=COM" | Foreach {
	$User = [adsi]("LDAP://" + $_.distinguishedname)
	$User.InvokeSet("ConnectClientDrivesAtLogon",1)
	$User.InvokeSet("ConnectClientPrintersAtLogon",0)
	$User.InvokeSet("DefaultToMainPrinter",1) 
	$User.SetInfO()
}

Где,

-SearchBase "OU=USERS,******,DC=COM"

 — путь к пользователям в Active Directory,

$User.InvokeSet(Parameter,Value)

— установка для объекта значения Value параметра Parameter через метод InvokeSet интерфейса IADsTSUserEx interface. Список параметров IADsTSUserEx interface описан здесь.

Значение Value

  • 1 — checkbox установлен (включено),
  • 0 — checkbox снят (выключено)

В общем случае так же следует не забыть внести изменения в применяемую на терминальный сервер групповую политику 

Computer Configuration\Policies\Administrative Templates: Policy definitions\Windows Components\Remote Desktop Services\Remote Desktop Session Host\Printer Redirection\Do not set default client printer to be default printer in a session

в состояние Disabled.

If you disable this policy setting, the RD Session Host server automatically maps the client default printer and sets it as the default printer upon connection.

А так же проверить разрешено ли перенаправление устройств на терминальном сервере в свойствах Client Settings подключения в  Remote Desktop Session Host server (установленный checkbox — запрещено, должен быть снят). Иначе проброс принтеров в RDP не будет работать.

Если требуется внести изменения через реестр (regedit в помощь) то путь через

HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services
  • fDisableCpm — Выключение перенаправления принтеров
  • RedirectOnlyDefaultClientPrinter — перенаправление только принтера по умолчанию

Значения параметров реестра:

  • 1 — checkbox установлен (выключено),
  • 0 — checkbox снят (включено)

И напоследок, помните, что на терминальном сервере должны быть установлены соотвествующие для печатающих устройств клиентов драйвера совпадающие с разрядностью операционной системы клиента.

Эпилог

Полагаю, что данная статья поможет так же решить основные типовые возможные проблемы с пробросом печатающих устройств(и не только их) в терминальную сессию RDP. Статья широко освещает данную тематику.

  • Не работает переключение языка на клавиатуре windows 11
  • Не работает переключение между окнами windows
  • Не работает перезагрузка на ноутбуке windows 10
  • Не работает передняя панель звука в windows 7
  • Не работает передняя панель для наушников на компьютере с windows 10