![]() |
Картинка из открытых источников |
Обратилась тут ко мне на днях одна небольшая организация помочь решить проблему с печатью на локальном принтере в сессии RDP. По словам молодого специалиста - эникейщика, который, можно сказать, сопровождает парк машин данной организации, после апгрейда "сервера" и перевода его на Windows 10, у пользователей сеанса RDP стали возникать проблемы с определением их локального принтера. Да-да, вы не ослышались, на сервере стоит именно Windows 10, а несколько сессий RDP реализовано через популярную утилиту RDP wrapper.
Мне было интересно решить обозначенную проблему, учитывая, что до апгрейда "сервер" стоял под управлением Windows 7 с той же самой утилитой RDP wrapper несколько лет, и все замечательно работало без дополнительных плясок с бубном и игрой на балалайке. Пользователи, в том числе новые, подключались к серверу и их локальные принтеры автоматически определялись в сессии RDP и использовались пользователями безо всяких проблем и ограничений.
С новым сервером под управлением Windows 10 в связке с RDP wrapper пользователи тоже подключались к серверу, но их локальные принтеры ни в какую не желали автоматически определяться в сессии RDP. Отчасти, проблему помогала решить "принудительная" установка драйверов используемого принтера и организация перенаправления принтера вручную (как это требуется делать с принтерами, не поддерживающими технологию Easy Print). И если с пользователями, подключающимися с одного и того же компьютера, это хоть как-то облегчало работу, то с пользователями, подключающимися с 2-х и более компьютеров - нет. Принтер мог "магически" определиться и печатать, или не определиться, или вдруг "ожить" и прогнать через себя весь лоток бумаги после разрыва сессии RDP. На лицо была "плавающая" проблема, которую не любит ни один айтишник :))).
На решение проблемы натолкнул тот факт, что прямое подключение RDP, без использования утилиты RDP wrapper, работает так, как и ожидается - локальный принтер тут же перенаправляется и пользователю ничего не мешает на нем печатать. Поиск в интернете по данному направлению принес свои плоды - оказалось, что данная проблема уже была зафиксирована пользователями RDP wrapper еще со времен апдейта Windows 10 до версии 1803 (например, тут вы можете прочитать об этом чуть больше). Как показала практика, в локализациях Windows 10, отличных от английской, начиная с версии 1803 технология Easy Print при использовании утилиты RDP wrapper практически не работает ни с одним принтером. Почему это произошло и как с этим бороться я, на момент написания данной заметки, так и не нашел информации. При этом проблему не решило ни одно из последующих обновлений самой Windows 10 (вплоть до версии 20H2), ни различные конфигурационные файлы RDP wrapper. В английской версии Windows 10 все работает, в русской - нет. А учитывая тот факт, что разработчик RDP wrapper уже давно забросил свой проект, ожидать решения проблемы с его стороны не приходится.
Единственным выходом в данной ситуации (кроме инсталляции полноценного серверного решения, конечно же) стало использование модифицированного файла termsrv.dll. Подмена оригинального файла файлом, скачанным с одного из форумов, продемонстрировало полную работоспособность данного способа. Пользователи подключались и их локальные принтеры автоматически перенаправлялись из сеанса RDP. Но напоминаю, что подобные "решения", как минимум, являются нарушением лицензионного соглашения, а, возможно, и чего более серьезного.
Как итог, организация ушла думать о необходимости пробретения серверного решения Microsoft, либо о переходе на более экономичное решение в виде open source. Со своей же стороны, надеюсь, что информация будет полезна тем, кто столкнулся с аналогичной проблемой. На этом у меня все ))).
хоть бы файл приложил или написал, где конкретно скачал)
ОтветитьУдалитьПравила блогов Google запрещают публикацию подобных ссылок ;-).
УдалитьНо поиск в том же Google позволяет очень быстро его найти. Такой вот... парадокс))).