Rdp wrapper supported partially windows 7

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

Pick a username
Email Address
Password

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

При запуске конфигуратора RDP Wrapper статус «not supported» или «supported partially»

  По рекомендациям, которые нашел в сети, по-новому переустановил RDP Wrapper (re-install.bat), обновил (update.bat), обновил rdpwrap.ini (rdpwrap_ini_updater.bat). Запустил RDPConf.exe и опять получил «not supported»

В окне RDP Wrapper configuration высветилась версия моей Windows 10.0.17763.437, которая, как я понял, на тот момент не поддерживалась. Параллельно открыл файл rdpwrap.ini. И, дествительно, последняя в списке была версия 10.0.17763.379.

Полез на форум портала github.com. Шерстил долго, но — безрезультатно. Пока случайно не наткнулся на какую-то тривиальную, почти бессмысленную рекомендацию. Человек просто взял и заменил в файле rdpwrap.ini последние цифры близлежащей версии на свои. Попробовал проделать то же самое у себя: заменил 379 на 437. Запустил RDPConf.exe и получил «fully supported«.

Не поверил. Запустил RDPCheck.exe и получил параллельную RDP-сессию

Не поверил. Попробовал подключиться по RDP удаленно. Подключился. Бред какой-то. Вообще-то, не должно было прокатить, но, почему-то прокатило. Попробовал то же самое проделать на другой машине с Windows 7. Прокатило! Чудно!

P.S. Гладко было на бумаге, да забыли про овраги! Рано было ставить точку, — вынужден снова вернуться к этому вопросу.
    Пользователь при установке какой-то игровой «хрени» словил BlueScreen, который стал периодически повторяться. Не заморачиваясь особо, запустили восстановление системы. А «десятка» при восстановлении ещё и обновилась до более старшей версии: была 10.0.17763.437, а стала 10.0.17763.771. Естественно, при запуске RDPConf.exe опять получил «not supported».  По новой проделал все вышеописанные шаги. В файле rdpwrap.ini для версии 10.0.17763.771 ничего не добавилось. Заменил в rdpwrap.ini  437 на 771. Не прокатило! Видимо 437 была ближе к 379, чем 771 к 437.
    Пришлось опять шерстить портал github.com, где в комментах нашел блок для версии 10.0.17763.771 (ссылка на источник https://github.com/stascorp/rdpwrap/issues/886). Скопировал, вставил в rdpwrap.ini, подключился по RDP, параллельная сессия пошла.
    Позже на другой машине в схожей ситуации «десятка» при восстановлении обновилась вообще до версии 10.0.18362.267. Естественно, все вышеописанные манипуляции ни к чему не привели. Но на этом же портале уже кто-то выложил build for win 10 home v18362.267 (ссылка на источник https://github.com/SobieskiCodes/RDPWrap).  Скачал, проделал стандартные шаги по установке и обновлению. Из папки W10Privacy ничего не запускал, — параллельная RDP-сессия пошла и так.

P.S.  P.S. 13 и 14 января 2021 года Windows 10 обновилась до версии 10.0.18362.1316. Опять получил «not supported».  Нашел для неё дополнение в rdpwrap.ini:

[10.0.18362.1316]
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=83075
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x64=1
SingleUserOffset.x64=0DC4C
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1FE65
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x64=1
SLInitOffset.x64=22E9C
SLInitFunc.x64=New_CSLQuery_Initialize

[10.0.18362.1316-SLInit]
bInitialized.x64      =F6A8C
bServerSku.x64        =F6A90
lMaxUserSessions.x64 =F6A94
bAppServerAllowed.x64 =F6A9C
bRemoteConnAllowed.x64=F6AA0
bMultimonAllowed.x64 =F6AA4
ulMaxDebugSessions.x64=F6AA8
bFUSEnabled.x64       =F6AAC

Запустил RDPConf.exe, получил  «fully supported». Но второго пользователя по RDP не пускает. Несколько раз перезагрузился. Бесполезно. Блокирует второго юзера по RDP, хоть убейся. Полез опять на портал github.com. Нашел свежий файл autoupdate.bat

Поместил его в папку с установленным RDP Wrapper. Запустил от имени администратора. Потом попробовал подключиться по RDP. Подключение пошло, но сначала открылся черный (и пустой) рабочий стол. Потом через пару попыток оставил его таким на некоторое время. И, о чудо, всё появилось. В дальнейшем все последующие подключения пошли нормально. Каким образом этот батник повлиял, я так и не понял. Может, просто совпадение.

P.S.  P.S. P.S. В двадцатых числах июня 2021 года Windows 10 обновилась до версии 10.0.17763.1971 и, соответственно, опять «not supported».

10.0.17763.1971 - "not supported"

«Не мудрствуя лукаво» просто запустил файл autoupdate.bat, который ранее был скачан с портала github.com и помещён в папку с установленным RDP Wrapper. И сразу получил  «fully supported». Параллельная RDP-сессия пошла.

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

При запуске конфигуратора RDP Wrapper статус «not supported» или «supported partially»

  По рекомендациям, которые нашел в сети, по-новому переустановил RDP Wrapper (re-install.bat), обновил (update.bat), обновил rdpwrap.ini (rdpwrap_ini_updater.bat). Запустил RDPConf.exe и опять получил «not supported»

В окне RDP Wrapper configuration высветилась версия моей Windows 10.0.17763.437, которая, как я понял, на тот момент не поддерживалась. Параллельно открыл файл rdpwrap.ini. И, дествительно, последняя в списке была версия 10.0.17763.379.

Полез на форум портала github.com. Шерстил долго, но — безрезультатно. Пока случайно не наткнулся на какую-то тривиальную, почти бессмысленную рекомендацию. Человек просто взял и заменил в файле rdpwrap.ini последние цифры близлежащей версии на свои. Попробовал проделать то же самое у себя: заменил 379 на 437. Запустил RDPConf.exe и получил «fully supported«.

Не поверил. Запустил RDPCheck.exe и получил параллельную RDP-сессию

Не поверил. Попробовал подключиться по RDP удаленно. Подключился. Бред какой-то. Вообще-то, не должно было прокатить, но, почему-то прокатило. Попробовал то же самое проделать на другой машине с Windows 7. Прокатило! Чудно!

P.S. Гладко было на бумаге, да забыли про овраги! Рано было ставить точку, — вынужден снова вернуться к этому вопросу.
    Пользователь при установке какой-то игровой «хрени» словил BlueScreen, который стал периодически повторяться. Не заморачиваясь особо, запустили восстановление системы. А «десятка» при восстановлении ещё и обновилась до более старшей версии: была 10.0.17763.437, а стала 10.0.17763.771. Естественно, при запуске RDPConf.exe опять получил «not supported».  По новой проделал все вышеописанные шаги. В файле rdpwrap.ini для версии 10.0.17763.771 ничего не добавилось. Заменил в rdpwrap.ini  437 на 771. Не прокатило! Видимо 437 была ближе к 379, чем 771 к 437.
    Пришлось опять шерстить портал github.com, где в комментах нашел блок для версии 10.0.17763.771 (ссылка на источник https://github.com/stascorp/rdpwrap/issues/886). Скопировал, вставил в rdpwrap.ini, подключился по RDP, параллельная сессия пошла.
    Позже на другой машине в схожей ситуации «десятка» при восстановлении обновилась вообще до версии 10.0.18362.267. Естественно, все вышеописанные манипуляции ни к чему не привели. Но на этом же портале уже кто-то выложил build for win 10 home v18362.267 (ссылка на источник https://github.com/SobieskiCodes/RDPWrap).  Скачал, проделал стандартные шаги по установке и обновлению. Из папки W10Privacy ничего не запускал, — параллельная RDP-сессия пошла и так.

P.S.  P.S. 13 и 14 января 2021 года Windows 10 обновилась до версии 10.0.18362.1316. Опять получил «not supported».  Нашел для неё дополнение в rdpwrap.ini:

[10.0.18362.1316]
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=83075
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x64=1
SingleUserOffset.x64=0DC4C
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1FE65
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x64=1
SLInitOffset.x64=22E9C
SLInitFunc.x64=New_CSLQuery_Initialize

[10.0.18362.1316-SLInit]
bInitialized.x64      =F6A8C
bServerSku.x64        =F6A90
lMaxUserSessions.x64 =F6A94
bAppServerAllowed.x64 =F6A9C
bRemoteConnAllowed.x64=F6AA0
bMultimonAllowed.x64 =F6AA4
ulMaxDebugSessions.x64=F6AA8
bFUSEnabled.x64       =F6AAC

Запустил RDPConf.exe, получил  «fully supported». Но второго пользователя по RDP не пускает. Несколько раз перезагрузился. Бесполезно. Блокирует второго юзера по RDP, хоть убейся. Полез опять на портал github.com. Нашел свежий файл autoupdate.bat

Поместил его в папку с установленным RDP Wrapper. Запустил от имени администратора. Потом попробовал подключиться по RDP. Подключение пошло, но сначала открылся черный (и пустой) рабочий стол. Потом через пару попыток оставил его таким на некоторое время. И, о чудо, всё появилось. В дальнейшем все последующие подключения пошли нормально. Каким образом этот батник повлиял, я так и не понял. Может, просто совпадение.

P.S.  P.S. P.S. В двадцатых числах июня 2021 года Windows 10 обновилась до версии 10.0.17763.1971 и, соответственно, опять «not supported».

10.0.17763.1971 - "not supported"

«Не мудрствуя лукаво» просто запустил файл autoupdate.bat, который ранее был скачан с портала github.com и помещён в папку с установленным RDP Wrapper. И сразу получил  «fully supported». Параллельная RDP-сессия пошла.

Содержание

  1. Workaround for #646 (Windows 7 build 6.1.7601.24326) #670
  2. Comments
  3. MartijnBraam commented Feb 15, 2019
  4. s0nic9 commented Feb 15, 2019
  5. m-hume commented Feb 15, 2019
  6. m-hume commented Feb 15, 2019
  7. s0nic9 commented Feb 15, 2019
  8. m-hume commented Feb 15, 2019
  9. ZeljkoManjkas commented Feb 15, 2019
  10. binarymaster commented Feb 15, 2019
  11. MartijnBraam commented Feb 15, 2019
  12. Блог вопиющего в пустыне
  13. Исправляем недостатки RDP с помощью RDP Wrapper Library
  14. Дополнение 04.05.2019.
  15. Support for 6.1.7601.24402 #734
  16. Comments
  17. 1Pekol commented Apr 11, 2019
  18. jirijanata commented Apr 11, 2019 •
  19. 1Pekol commented Apr 11, 2019
  20. jirijanata commented Apr 11, 2019
  21. chrislengrc commented Apr 11, 2019
  22. jirijanata commented Apr 11, 2019
  23. joebrug commented Apr 11, 2019
  24. jirijanata commented Apr 11, 2019
  25. joebrug commented Apr 11, 2019 •
  26. jirijanata commented Apr 11, 2019
  27. joebrug commented Apr 11, 2019
  28. jirijanata commented Apr 11, 2019
  29. joebrug commented Apr 11, 2019
  30. jirijanata commented Apr 11, 2019
  31. joebrug commented Apr 11, 2019
  32. fre4kyC0de commented Apr 11, 2019
  33. joebrug commented Apr 11, 2019
  34. fre4kyC0de commented Apr 12, 2019
  35. jirijanata commented Apr 12, 2019
  36. joebrug commented Apr 12, 2019
  37. Kbotz commented Apr 12, 2019
  38. fre4kyC0de commented Apr 12, 2019
  39. joebrug commented Apr 12, 2019
  40. Kbotz commented Apr 12, 2019
  41. fre4kyC0de commented Apr 12, 2019
  42. stwubby commented Apr 13, 2019
  43. chrislengrc commented Apr 15, 2019
  44. joebrug commented Apr 15, 2019
  45. joebrug commented Apr 15, 2019
  46. PocketSam commented Jun 13, 2019 •
  47. TonightShaka commented Jul 5, 2019
  48. DrLove73 commented Jul 9, 2019 •
  49. RobertRoberts2020 commented Aug 23, 2019 •
  50. DrLove73 commented Aug 23, 2019
  51. PocketSam commented Aug 23, 2019
  52. s0nic9 commented Aug 23, 2019
  53. s0nic9 commented Mar 19, 2020
  54. affinityv commented Mar 20, 2020
  55. s0nic9 commented Mar 20, 2020
  56. affinityv commented Mar 20, 2020
  57. sebthesun commented Aug 9, 2020
  58. RDP wrapper
  59. Для чего нужен RDP wrapper?
  60. Про стандартный RDP

Workaround for #646 (Windows 7 build 6.1.7601.24326) #670

The workaround for making rdpwrap work is removing KB4486563

The text was updated successfully, but these errors were encountered:

Confirmed last official February 2019 cumulative patch for Windows 7 ( KB4486563 ) is not yet supported.

Think i’ve got the offsets for x64
Not really got a machine i can test on till the weekend thou

Disclaimer: I’m new to disassembly so don’t hate to much if i’ve got this wrong 😉

Just noticed the link in this post #668 (comment)
@fre4kyC0de got the same offsets that i found so they should be good

Works but no concurrent remote resktop allowed, tested on home premium and pro version, uninstalling udpdate, concurrent works again.

Strange it works on my local machine
52860693 160e4e80 3128 11e9 8822 9eb77d2b7f72

here’s my ini file. I did need a reboot after editing for it to take hold thou
rdpwrap.ini.txt

As s0nic9 say. On my test machine after change rdprwap.ini and restart terminal server on Win 7 6.1.7601.24356, RDP Wrapper conf. say full supported but no more than 2 users are allowed (console + one RDP user)

If some issue is locked I don’t want to receive email notifications on the subject. Don’t create duplicates of locked issues if you don’t want to be banned.

I’m sorry for creating the duplicate, but that issue has been locked for two weeks while from the comment above it seems like there are people willing to work on fixing the issue. So maybe it’s better to unsubscribe for notifications on a thread if you don’t want to get them instead of blocking communication for everyone.

(Also thanks for this project, saved me many times. I won’t create a duplicate again)

Источник

Блог вопиющего в пустыне

Может это интересно?

По рекомендациям, которые нашел в сети, по-новому переустановил RDP Wrapper (re-install.bat), обновил (update.bat), обновил rdpwrap.ini (rdpwrap_ini_updater.bat). Запустил RDPConf.exe и опять получил «not supported»

not supported

В окне RDP Wrapper configuration высветилась версия моей Windows 10.0.17763.437, которая, как я понял, на тот момент не поддерживалась. Параллельно открыл файл rdpwrap.ini. И, дествительно, последняя в списке была версия 10.0.17763.379.

not supported rdpwrap.ini

fully supported rdpwrap.ini

Не поверил. Запустил RDPCheck.exe и получил параллельную RDP-сессию

RDPCheck

Не поверил. Попробовал подключиться по RDP удаленно. Подключился. Бред какой-то. Вообще-то, не должно было прокатить, но, почему-то прокатило. Попробовал то же самое проделать на другой машине с Windows 7. Прокатило! Чудно!

P.S. P.S. 13 и 14 января 2022 года Windows 10 обновилась до версии 10.0.18362.1316. Опять получил «not supported». Нашел для неё дополнение в rdpwrap.ini:

[10.0.18362.1316]
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=83075
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x64=1
SingleUserOffset.x64=0DC4C
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1FE65
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x64=1
SLInitOffset.x64=22E9C
SLInitFunc.x64=New_CSLQuery_Initialize

[10.0.18362.1316-SLInit]
bInitialized.x64 =F6A8C
bServerSku.x64 =F6A90
lMaxUserSessions.x64 =F6A94
bAppServerAllowed.x64 =F6A9C
bRemoteConnAllowed.x64=F6AA0
bMultimonAllowed.x64 =F6AA4
ulMaxDebugSessions.x64=F6AA8
bFUSEnabled.x64 =F6AAC

Запустил RDPConf.exe, получил «fully supported». Но второго пользователя по RDP не пускает. Несколько раз перезагрузился. Бесполезно. Блокирует второго юзера по RDP, хоть убейся. Полез опять на портал github.com. Нашел свежий файл autoupdate.bat

Поместил его в папку с установленным RDP Wrapper. Запустил от имени администратора. Потом попробовал подключиться по RDP. Подключение пошло, но сначала открылся черный (и пустой) рабочий стол. Потом через пару попыток оставил его таким на некоторое время. И, о чудо, всё появилось. В дальнейшем все последующие подключения пошли нормально. Каким образом этот батник повлиял, я так и не понял. Может, просто совпадение.

Источник

Исправляем недостатки RDP с помощью RDP Wrapper Library

У настольных операционных систем Microsoft есть некоторые ограничения, связанные с работой службы удаленных рабочих столов. Так во первых, поддержка серверной части (RDP Host) есть только в старших редакциях Windows (не ниже Professional). В домашних редакциях этот функционал отключен, поэтому подключиться к младшим версиям Windows по RDP невозможно.

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

Обойти эти ограничения позволит проект RDP Wrapper Library by Stas’M. RDP Wrapper работает как прослойка между менеджером служб (Service Control Manager, SCM) и службой удаленных рабочих столов. При этом, в отличии от других решений подобного рода, он не подвергает изменениям файл termsrv.dll (библиотека, используемая службой Remote Desktop Services), что позволяет не опасаться обновлений Windows.

Судя по официальному сайту, проект активно живет и развивается. На данный момент выложена версия 1.5 от 2014.12.11, для которой заявлена поддержка новейших ОС, включая Windows 10 Technical Preview. Также доступны исходники, так что при желании можно самостоятельно собрать проект.

Загрузить RDP Wrapper можно со страницы программы в репозитории GitHub. В архив входят следующие компоненты:

• RDPWinst.exe — инсталлятор, с помощью которого производится установка и удаление RDP Wrapper;
• RDPConf.exe — утилита для настройки параметров подключения;
• RDPCheck.exe — утилита для локальной проверки работы RDP;
• install.bat и uninstall.bat — bat-файлы для удобства установкиудаления программы.

rdpwrapper1

Для установки программы надо открыть командную строку с правами администратора, перейти в директорию с распакованными файлами и запустить install.bat. Все остальное, включая настройку исключений на файерволле, установщик сделает сам.

rdpwrapper2

Дополнительно можно запустить утилиту RDPConf.exe, которая позволяет включатьотключать доступ, а также настраивать основные параметры подключения (порт, количество сессий на пользователя, тип аутентификации и пр.).

rdpwrapper3

Ну и в качестве проверки я открыл на компьютер с установленной Windows 7 Home Basic две RDP-сессии для двух разных пользователей.

rdpwrapper4

Что еще можно сказать. Проект однозначно полезный, в некоторых ситуациях даже незаменимый. Из минусов же — используя RDP Wrapper вы скорее всего нарушаете лицензионное соглашение.

Дополнение 04.05.2019.

Для корректной работы на Windows 10 1809 требуется обновить файл конфигурации rdpwrap.ini. В него надо добавить следующие строчки:

[10.0.17763.292]
; Patch CEnforcementCore::GetInstanceOfTSLicense
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=AFAD4
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=77A11
LocalOnlyCode.x64=jmpshort
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=4D665
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=1322C
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=4BE69
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17F45
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
; Hook CSLQuery::Initialize
SLInitHook.x86=1
SLInitOffset.x86=5B18A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=1ABFC
SLInitFunc.x64=New_CSLQuery_Initialize

И в конец ini файла дополнительно надо добавить строки:

[10.0.17763.292-SLInit]
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86 =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86 =CD7B8

bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64 =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64 =ECAD0

В конце файла обязательно пустая строка.

Источник

Support for 6.1.7601.24402 #734

Hi, in W7 Pro (propably after installation KB4493472) RDPWrap sed «supported partially».
I solved and tested 32bit termsrv.dll:

[6.1.7601.24402]
SingleUserPatch.x86=1
SingleUserOffset.x86=1A675
SingleUserCode.x86=nop
DefPolicyPatch.x86=1
DefPolicyOffset.x86=19E41
DefPolicyCode.x86=CDefPolicy_Query_eax_esi

Have a nice day.
p.s. Sorry, I do not known any 64bit dll version I do not have any 64bit practice. So I hope somebody another from comunity will take some time to solve 64bit.

The text was updated successfully, but these errors were encountered:

[6.1.7601.24402]
SingleUserPatch.x64=1
SingleUserOffset.x64=17F26
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17CFE
DefPolicyCode.x64=CDefPolicy_Query_eax_rdi

EDIT: Corrected value

[6.1.7601.24402]
SingleUserPatch.x64=1
SingleUserOffset.x64=17F25
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17CFE
DefPolicyCode.x64=CDefPolicy_Query_eax_rdi

Is your solution tested? Thanks

Of couse. Windows 7 x64. Offsets found throught IDA.

Do I just paste this into «C:Program FilesRDP Wrapperrdpwrap.ini» and restart?

once I do this my RDP doesn’t seem to be «Listening»?

Curious, why do you have to uninstall/reinstall and not just add the new section to the existing ini file? Is this a new requirement? 🙂

I’ve seen so many emails lately about people not able to get RDPWrapper working, some can, some cant.. it’s not that hard.. trying to figure out what their problem is. I just noticed my WSUS services were stopped, so didn’t get the 6.1.7601.24402 update yet.
I have tested your x64 settings above by simply copying/pasting inside c:program filesrdpwrapperrdpwrap.ini and RDPConf.exe said Fully Supported. Restarted computer and have two RDP sessions in at the moment. Looks good.

Thank you for test. I’ve also tested this settings on live Windows 7 installation.

How come no DefPolicy* stuff? Not sure what it does, or if its needed, but the rest have it so thought I’d ask 🙂

It’s actually quite easy:

It looks in IDA so and you just need to substract 80000 from the 97CFE:

Oh wow you make that seem very easy! So the «header»offset is always the last 5 characters? (000007FF75A80000)
Okay so thats how you get the DefPolicyOffset but what about the other values like SingleUserOffset.x64?

I’ve tried watching that video.. makes no sense, gets confusing. 🙁

Jiri:
SingleUserOffset.x64=17F25

Freaky:
SingleUserOffset.x64=17F26

Maybe (I‘ll recheck that as I did the reversing at 1 AM) jirijanata posted the offset of the „mov eax, 1“-command while the offset of the first „parameter“ has to be used.
This is a little confusing when reversing exactly this offset.

Ok, so I understand subtracting header from the values using hex calculator, but what values did you use? What lines? For single user and def policy.. just trying to learn/understand 🙂 thanks guys

Thanks to fre4kyC0de and jirijanata for their efforts. The tests I ran on both the Pro and Home Win7 x64 setups shows that SingleUserOffset.x64=17F26 allows for successful simultaneous RDP sessions with the updated termsrv v.6.1.7601.24402, but 17F25 does not. It appears jirijanata concluded the same thing earlier.

17F26 is the correct value; I just rechecked it

For demonstration I’ll describe, how to do with IDA (termsrv.dll 6.1.7601.24402 x64):

The correct way:
8) switch to «Hex View»; it should have marked these byte sequence: «BB 01 00 00 00»
We want RDPWrap to replace the «01» with «00», so «mov ebx, 1» gets «mov ebx, 0»
9) mark the «01»
10) At the bottom IDA should display two offsets
a) 0x17326 = Offset in the file
b) 0x7FF75A97F26 = Offset, when loaded in RAM
11) from the second offset substract the imagebase (result is 0x17F26)
DONE

The easy way:
8) substract the imagebase from the offset displayed at the left (results in 0x17F25)
9) add 1 (as we want to swap the value and not the command) [remember to do hexadecimal calculations]

Hi Guys and Girls. I was able to remotely copy the rdpwrap.ini from the RDP Wrapper programs folder to where ever, opened it in notepad, pasted in the new offset info, save it there, copy the updated one, then pasted it back to where it belongs (RDP Wrapper programs folder) it asked for admin permission to replace rdpwrap.ini then allowed it. Don’t know why you were talking about having to uninstall Rdpwrapper and all that other jazz. Then you can run the update and not worry that you have to visit the remote site to deal with it. Naturally you must have full control permissions over that file. Thank you
fre4kyC0de, jirijanata, joebrug for your efforts. Much appreciated.

Hi Guys and Girls. I was able to remotely copy the rdpwrap.ini from the RDP Wrapper programs folder to where ever, opened it in notepad, pasted in the new offset info, save it there, copy the updated one, then pasted it back to where it belongs (RDP Wrapper programs folder) it asked for admin permission to replace rdpwrap.ini then allowed it. Don’t know why you were talking about having to uninstall Rdpwrapper and all that other jazz. Then you can run the update and not worry that you have to visit the remote site to deal with it. Naturally you must have full control permissions over that file. Thank you
fre4kyC0de, jirijanata, joebrug for your efforts. Much appreciated.

For demonstration I’ll describe, how to do with IDA (termsrv.dll 6.1.7601.24402 x64):

You can just stop Terminal Services through Computer Management Services section or with
net stop TermService
then edit rdpwrap.ini file and start TermService again.

But it seems that sometimes you need to reboot to apply new rdpwrap.ini file. 🙁

Backup rdpwrap.ini file
Download RDPWrapper from github and unpack it.
Uninstall RDPWrapper
Change in install.bat «%

[6.1.7601.24402]
SingleUserPatch.x64=1
SingleUserOffset.x64=17F26
SingleUserCode.x64=Zero
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17CFE
DefPolicyCode.x64=CDefPolicy_Query_eax_rdi

EDIT: Corrected value

it shows up as » fully supported». but I can’t get more than 2 sessions in using this,

Have you tried rebooting PC between installation and trying?

Have you tried rebooting PC between installation and trying?

Seems like the problem occurred when automatic updates were enabled. I’ve disabled it and now everything works fine for at least 3 days.

Was it perhaps the file format was with Unix line endings instead of DOS?

Yes, always make sure it is a plain text file with DOS line endings. Whatever editor you use, be sure of how the file is saved (it’s format).

I have de same problem with this version (windows server 2008 r2) but I can’t get it work for more than 2 RDP.
I updated the ini file with the settings from @fre4kyC0de but with no luck.
I don’t what to look for to find the cause.

Источник

rdp wrapper

Для чего нужен RDP wrapper?

Про стандартный RDP

RDP (Remote Desktop Protocol) — дословно протокол Удаленного Рабочего Стола. Позволяет подключится к компьютеру по IP адресу с любого другого компьютера.

Подключение по протоколу RDP осуществляется между компьютерами, находящимися в одной локальной сети, или по интернету, но для этого потребуются дополнительные действия – проброс порта 3389 на роутере, либо соединение с удаленным компьютером по VPN.

access rdp

Windows 10 Home — данная функция отключена

Windows 10 Pro — позволяет одновременно использовать только одно подключение под выбранным пользователем

Windows Server — позволяет подключаться сразу с нескольких устройств, под разными пользователями и работать одновременно.

При подключении используются все ресурсы удаленного компьютера, позволяет передавать принтеры, буфер обмена, диски, порты, устройства захвата. Благодаря этому часто в организациях ставят мощный сервер с Windows Server OC а пользователям дают монитор с мышкой, клавиатурой и слабенький ПК в качестве тонкого клиента, который служит только для подключения к серверу. При этом все пользователи будут полноценно работать на производительном сервере.

Так же RDP часто используется в 1С для работы с файловой базой данных

Источник

Задача: в удаленном офисе есть компьютер (условно назовем его «сервер»), на котором установлена файловая база 1С. Необходимо удаленно организовать доступ к этому ПК для совместной работы в 1С и M.E.Doc.

Задачу усложняет 2 факта: 

  • оба офиса находятся за NAT’ом и прямое подключение не представляется возможным;
  •  на «сервере» установлена не серверная версия ОС (Windows 7 Максимальная). Подключение для настройки к нему возможно только через TeamViewer.

Принимая во внимание то, что количество пользователей в базе будет не более 3-х, разобьем задачу на этапы:

  1. Объединение компьютеров в виртуальную локальную сеть (с помощью ZeroTier);
  2. С помощью RDPWrap включаем возможность подключения к «серверу» по RDP.

Использование RPPWrap, вероятно, нарушает пользовательское соглашение Microsoft, поэтому задача будет рассматриваться исключительно в тестовом ключе. Для реальной многопользовательской эксплуатации RDP необходима Windows Server и лицензии User CAL + RDP User CAL.

Использование ZeroTier для объединения ПК в виртуальную локальную сеть

ZeroTier — это виртуальный управляемый Ethernet-свитч. Добавленные в одну сеть ZeroTier, устройства взаимодействуют так, будто бы они находятся в одной локальной сети независимо от расстояния между ними. На момент написания статьи, ZeroTier поддерживает работу в Windows, Linux, MacOS, Android и iOS. Бесплатная версия ZeroTier поддерживает добавление до 100 устройств в сеть, что, в нашем случае, более чем достаточно.

Создаем аккаунт и сеть ZeroTier

Для создания аккаунта ZeroTier необходимо указать e-mail и пароль:

Регистрация аккаунта ZeroTier

Безо всяких подтверждений почты попадаем в личный кабинет:

Личный кабинет ZeroTier

В разделе «Networks» создаем новую сеть и сразу наблюдаем ID сети (он понадобится для подключения):

Создание новой сети ZeroTier

По клику на ID переходим на страницу настроек сети. Поскольку устройств в нашей сети будет не много, поменяем диапазон IP-адресов сети на «192.168.191.*»

Редактируем диапазон IP-адресов сети

Подключаем компьютеры к сети ZeroTier

В нашей сети будут только устройства с ОС Windows и нам понадобится загрузить соответствующий дистрибутив ZeroTier One. Установка его не представляет проблем:

Установка ZeroTier One

После установки в правом нижнем углу появится иконка ZeroTier. При клике на нее появится предложение авторизоваться:

Авторизация клиента в ZeroTier

Появляется список сетей нашего аккаунта. Присоединяемся с помощью кнопки «Join«

Присоединяемся к сети ZeroTier

В списке сетевых адаптеров появляется новый адаптер ZeroTier, которому присваивается случайный IP-адрес из выбранного диапазона:

Сетевой адаптер ZeroTier

Для простоты, мы зададим «серверу» IP-адрес «192.168.191.1». Все это можно сделать в разделе настроек сети. По мере присоединения к сети устройств, они будут появляться в разделе «Members». Зададим понятное имя и IP-адрес (для этого можно ввести IP-адрес вручную и нажать на «+»):

Задаем имя и IP-адрес сервера

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

Добавляем ZeroTier в автозагрузку

Для того чтобы ZeroTier загржался автоматически при запуске ПК, заходим в Preferences и добавляем его в автозагрузку:

Добавляем ZeroTier в автозагрузку

Настройки безопасности ZeroTier

Сейчас в нашей сети ZeroTier разрешен любой трафик, по аналогии с ЛВС. Однако, ZeroTier предоставляет возможность управлять трафиком с помощью т. н. Flow Rules (правила потоков), которые задаются в настройках сети ZeroTier Central. Фактически, нам необходимо разрешить трафик к порту 3389 «сервера» и обратный трафик к клиентам. Поэтому, наши правила Flow Rules будут иметь следующий вид:

# Allow only IPv4, IPv4 ARP, and IPv6 Ethernet frames.
# Drop non-ZeroTier issued and managed IP addresses.
#
# This prevents IP spoofing but also blocks manual IP management at the OS level and
# bridging unless special rules to exempt certain hosts or traffic are added before
# this rule.
drop
	not ethertype ipv4
	and not ethertype arp
	and not ethertype ipv6
	and not chr ipauth
;

# accept RDP packets to server
accept 
	ipprotocol tcp
	and ipdest 192.168.191.1/32
	and dport 3389
;


# Drop TCP SYN,!ACK packets (new connections) not explicitly whitelisted above
break                     # break can be overridden by a capability
  chr tcp_syn             # TCP SYN (TCP flags will never match non-TCP packets)
  and not chr tcp_ack     # AND not TCP ACK
;

# Accept anything else. This is required since default is 'drop'.
accept;

Включаем и настраиваем RDP на «сервере»

Включаем протокол RDP на Windows 7

В редакции Windows 7 Максимальная есть возможность включить подключение через удаленный рабочий стол в Дополнительных параметрах системы.

Включение удаленного рабочего стола Windows 7

Задаем пароль для пользователя

Если у текущего пользователя нет пароля — самое время его создать. Иначе подключение по RDP может заканчиваться ошибкой про истекший срок действия пароля или вот такой:

Вход в систему не произведен: имеются ограничения, связанные с учетной записью.

Отключаем срок действия пароля

Для комфортной работы будет лучше отключить максимальный срок действия пароля (по умолчанию 42 дня). Инструкция

Проверяем подключение по RDP

После задания пароля пользователя, подключение уже возможно. IP-адрес нашего «сервера» — 192.168.191.1. На вопрос про сертификат отвечаем положительно:

Подключение к серверу через RDP

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

Подключение по RDP к "серверу" через ZeroTier Заблокированный рабочий стол Windows 7 во время подключения по RDP

Установка RDPWrapper для активации многопользовательского RDP

Проект RDPWrap ставит перед собой целью включение возможности удаленного доступа по RDP (в т. ч. для нескольких пользователей) для «домашних» редакций Windows (и не только). Он не подменяем файлы операционной системы, а «встраивается» в нее. Проект сомнителен с точки зрения лицензионности, однако, для нашей тестовой задачи подойдет.

Для установки RDPWrap необходимо загрузить пакет последней версии, распаковать его и запустить install.bat:

Установка RDPWrap

Утилита RDPConf:

RDPConf

Настройка RDPConf

Надпись «[supported partially]» говорит нам, что утилита работает в ограниченном режиме (максимум 2 одновременных сессии RDP). Версия termsrv.dll «6.1.7601.24326» поддерживается не полностью. Однако, если поискать в Google, можно найти вот такую тему.

Для полноценной работы, в файл rdpwrap.ini («C:Program FilesRDP Wrap«) необходимо добавить такие настройки:

[6.1.7601.24326]
SingleUserPatch.x86=1
SingleUserOffset.x86=1A675
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=17F1E
SingleUserCode.x64=Zero
DefPolicyPatch.x86=1
DefPolicyOffset.x86=19E41
DefPolicyCode.x86=CDefPolicy_Query_eax_esi
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17CEE
DefPolicyCode.x64=CDefPolicy_Query_eax_rdi

После перезапуска ПК, запустим утилиту RDPConf и убедимся что надпись поменялась на «[fully supported]» (полная поддержка).

RDPConf Fully supported

Проверка работы

Для проверки создадим еще 2-х пользователей и 2 подключения по RDP. Дополнительно к этому, на «сервере» будет работать локальный пользователь.

Диспетчер задач Windows

Скриншот 2-х одновременных подключений:

Скриншот 2-х одновременных подключений

Выводы

Из обычного ПК с Windows 7 Максимальная, при помощи RDPWrap, мы сделали простой сервер для совместной работы 3-х пользователей в 1С. Софтверные ограничения нашего решения:

  1. для RDPWrap — до 15 одновременных сессий RDP
  2. для бесплатной версии ZeroTier — 100 устройств в сети.

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

У настольных операционных систем Microsoft есть некоторые ограничения, связанные с работой службы удаленных рабочих столов. Так во первых, поддержка серверной части (RDP Host) есть только в старших редакциях Windows (не ниже Professional). В домашних редакциях этот функционал отключен, поэтому подключиться к младшим версиям Windows по RDP невозможно.

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

Обойти эти ограничения позволит проект RDP Wrapper Library by Stas’M. RDP Wrapper работает как прослойка между менеджером служб (Service Control Manager, SCM) и службой удаленных рабочих столов. При этом, в отличии от других решений подобного рода, он не подвергает изменениям файл termsrv.dll (библиотека, используемая службой Remote Desktop Services), что позволяет не опасаться обновлений Windows.

Судя по официальному сайту, проект активно живет и развивается. На данный момент выложена версия 1.5 от 2014.12.11, для которой заявлена поддержка новейших ОС, включая Windows 10 Technical Preview. Также доступны исходники, так что при желании можно самостоятельно собрать проект.

Загрузить RDP Wrapper можно со страницы программы в репозитории GitHub. В архив входят следующие компоненты:

• RDPWinst.exe — инсталлятор, с помощью которого производится установка и удаление RDP Wrapper;
• RDPConf.exe — утилита для настройки параметров подключения;
• RDPCheck.exe — утилита для локальной проверки работы RDP;
• install.bat и uninstall.bat — bat-файлы для удобства установкиудаления программы.

rdp wrapper файлы

Для установки программы надо открыть командную строку с правами администратора, перейти в директорию с распакованными файлами и запустить install.bat. Все остальное, включая настройку исключений на файерволле, установщик сделает сам.

установка rdp wrapper

Дополнительно можно запустить утилиту RDPConf.exe, которая позволяет включатьотключать доступ, а также настраивать основные параметры подключения (порт, количество сессий на пользователя, тип аутентификации и пр.).

настройка rdp wrapper

Ну и в качестве проверки я открыл на компьютер с установленной Windows 7 Home Basic две RDP-сессии для двух разных пользователей.

пример работы rdp wrapper

Что еще можно сказать. Проект однозначно полезный, в некоторых ситуациях даже незаменимый. Из минусов же — используя RDP Wrapper вы скорее всего нарушаете лицензионное соглашение.

Дополнение 04.05.2019.

Для корректной работы на Windows 10 1809 требуется обновить файл конфигурации rdpwrap.ini. В него надо добавить следующие строчки:

[10.0.17763.292]
; Patch CEnforcementCore::GetInstanceOfTSLicense
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=AFAD4
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=77A11
LocalOnlyCode.x64=jmpshort
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=4D665
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=1322C
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=4BE69
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17F45
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
; Hook CSLQuery::Initialize
SLInitHook.x86=1
SLInitOffset.x86=5B18A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=1ABFC
SLInitFunc.x64=New_CSLQuery_Initialize

И в конец ini файла дополнительно надо добавить строки:

[10.0.17763.292-SLInit]
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86 =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86 =CD7B8

bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64 =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64 =ECAD0

В конце файла обязательно пустая строка.

Взято отсюда: https://github.com/stascorp/rdpwrap/issues/699

Сервер терминалов на Windows 10 в многопользовательском режиме

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

Но есть загвоздка. Работает такая штука только на редакциях Windows 7/10 версий Pro и выше. То есть релизы, обозначенные как Home, курят в сторонке.

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

Более того, если во время работы локального пользователя на компьютере, например, с Win 10 Pro будет осуществлено подключение терминального, то система попросит «выкинуть» первого из сессии, выдав сообщение.

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

То есть по факту работать может только один человек: локальный (он же консольный), либо терминальный. Двое одновременно не уживаются никак. Отсюда вопрос.

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

Но для домашних пользователей выход есть и он хорошо показал себя на практике. Главное понять, что в дальнейшем делать с моральным стыдом и угрызениями совести, поскольку такая схема идет вразрез с интересами вышеназванной корпорации.

Знакомьтесь с решением, которые поможет-таки организовать сервер терминалов на Windows 7 и 10 в многопользовательском режиме. Это RDP Wrapper Library. Оно прекрасно подойдет для небольшого офиса, где количество рабочих мест около десятка.

Данное ПО очень простое в настройке, что всегда хорошо воспринимается техническими специалистами на местах. Есть информация на форумах, что даже Home версии Windows поддерживаются, но я лично не проверял.

Давайте переходить к делу и распаковывать скачанный архив. В нем мы видим следующее.

Где:

RDPWInst — установка и удаление

RDPConf — просмотр конфигурации

RDPCheck — проверка работоспособности

*.bat — пакетные файлы установки, удаления и обновления

Рекомендую сразу распаковывать архив в рабочий каталог, чтобы потом не переносить файлы по двадцать раз.

Установка сервера терминалов займет секунды

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

Но еще рано открывать шампанское, необходимо запустить файл RDPConf и убедиться, что все четыре пункта, показанные на скриншоте, горят зеленым цветом.

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

По случаю успешного запуска давайте рассмотрим некоторые интересные функции программы.

Single session per user — одновременный запуск нескольких сессий под логином одного пользователя

Hide users on logon screen — скрывает список пользователей (карусель) на экране приветствия

Allow to start custom programs — автозапуск пользовательских программ при подключении к рабочему столу (как я понимаю)

Также интерес представляет секция с названием «Session Shadowing Mode». Это теневой режим подключения, который позволяет админу наблюдать за активным сеансом пользователя в режиме реального времени. Кому сильно интересно, гуглите.

RDP для Windows 7/10 не подключается

Поговорим о проблемах, ведь ситуации бывают разные. Вот некоторые из популярных траблов. Например, в строке «Listener State» могут красным гореть сообщения типа «Not listening» или «Not Supported».

В таком случае попробуйте запустить файл update.bat, чтобы программа скачала последние обновления. Может сложиться ситуация, когда Windows обновилась в фоновом режиме и разработчики данного ПО еще не успели добавить поддержку конкретной сборки операционной системы.

Если это не поможет, следует пройти в каталог Program Files — RDP Wrapper, открыть блокнотом файл rpdwrap.ini, спуститься вниз документа и убедиться, что здесь есть секции настроек с указанием номера именно вашей (или выше) сборки Win 7 или 10.

А вот что говорит вкладка «О системе». Как видим, в данном случае полный порядок.

Продолжим разговор о файле rpdwrap.ini, поскольку чаще всего проблемы могут быть именно из-за его настроек, а вернее, их отсутствия.

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

Следует его скачать, перезаписать в рабочем каталоге, затем переустановить службу. Пакетные файлы install.bat и uninstall.bat вам в помощь.

Напоследок скажу еще один важный момент. До установки приложения RDP Wrapper Library, никакие другие способы организации терминального сервера на Windows 7/10 не должны осуществляться.

То есть файл  termsrv.dll должен иметь оригинальный вид. Иначе все проблемы могут быть из-за него.

Кстати, вариант, описываемый в этой статье, по информации из Сети вроде как не модифицирует никакие системные файлы, а работает как прослойка между службами Windows.

Это неточно, но психологически становится легче, поскольку если нет патча, значит, нет и нарушения лицензии. Что вы думаете об этом?

Если что-то пошло не так с доступом по RDP через RDPWrap (например, антивирус удалил файлы ПО), и служба «Службы удаленных рабочих столов» не запускается с ошибкой «указанный файл не найден», то нужно в ветку реестра HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesTermServiceParameters добавить параметр ServiceDll — REG_EXPAND_SZ — %SystemRoot%System32 ermsrv.dll
Это вернёт работоспособность встроенному RDP.
И теперь можно переустановить RDPWrap

Спасибо за статейку! Выручил!

Владимир Вязниковцев 4 дн

Полтора месяца я искал решение этой проблемы и вот оно счастье! Благодарю о великий человек! Думал уже систему придётся грохать 🙁

Как и в прошлых клиентских версиях операционных систем Майкрософт, пользователи Pro и Enterprise Windows 10 (но не Home) редакций могут удаленно подключаться к своим компьютерам через службу удаленных рабочих столов (RDP). Однако есть ограничение на количество одновременных RDP сессии – возможна одновременная работа только одного удаленного пользователя. При попытке открыть вторую RDP сессию, сеанс первого пользователя предлагается завершить.

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

Дело в том, что в настольных редакциях операционных систем Microsoft есть следующие основные ограничения на использование службы удаленного рабочего стола:

  1. Поддержка RDP доступа имеется только в старших редакциях Windows (Professional и выше), а в домашних редакциях (Home) этот функционал отключен.
  2. Возможно только одно удаленного RDP подключения. При попытке открыть вторую RDP-сессию, пользователю предлагается завершить существующее подключение.
  3. В том случае, есть пользователь работает за консолью компьютера (локально), при удаленном подключении RDP, его сеанс будет отключен (заблокирован). Правильно и обратное утверждение: удаленный RDP сеанс принудительно завершается, если пользователь авторизуется на консоле системы

По сути, ограничение на количество одновременных rdp подключений является не техническим, а скорее лицензионным, запрещающее создавать на базе рабочей станции терминальный RDP сервер для работы нескольких пользователей. Хотя с технической точки зрения любая редакция Windows при наличии достаточного количества памяти может поддерживать одновременную работу нескольких десятков удаленных пользователей (в среднем на одну сессию пользователя без учета запускаемых приложений требуется 150-200 Мб памяти). Т.е. максимальное количество одновременных сессий в теории ограничивается только ресурсами компьютера.

Мы рассмотрим два способа отключить ограничение на количество одновременных RDP подключений к Windows 10:

RDP Wrapper Library

Альтернативой модификации файла termsrv.dll является использование проекта RDP Wrapper Library. Эта программа работает в качестве прослойки между менеджером управления службами (SCM- Service Control Manager) и службой терминалов (Terminal Services) и позволяет включить не только поддержку нескольких одновременных RDP сессии, но и активировать поддержку RDP Host на домашних редакциях Windows 10. RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто подгружая termsrv с изменёнными параметрами.

Таким образом, это решение будет работать даже при обновлении версии файла termsrv.dll, что позволяет не опасаться обновлений Windows.

Скачать RDP Wrapper можно с репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2 вышла относительно недавно – 28 декабря 2017 года). Судя по информации на странице разработчика, поддерживаются все версии Windows. Windows 10 поддержиывается вплость до версии Insider Preview build 10.0.17063.1000 от 13 декабря 2017 года.

Архив RDPWrap-v1.6.2.zip содержит несколько файлов:

  • RDPWinst.exe —программа установки/удаления RDP Wrapper Library
  • RDPConf.exe — утилита настройки RDP Wrapper
  • RDPCheck.exe — Local RDP Checker — утилита проверки RDP
  • install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper

Чтобы установить утилиту, запускам файл install.bat с правами администратора.

После окончания установки запускаем RDPConfig.exe. И удостоверяемся, что в секции Diagnostics все элементы окрашены в зеленый цвет.

Из интересных особенностей новой версии RDP Wrapper:

    опция H >В том случае, если после обновления версии Windows, RDP Wrapper не работает, проверьте, что в секции Diagnostics присутствует надпись Listener state: Not listening.

Попробуйте обновить ini файл скриптом update.bat, либо вручную и переустановить службу

rdpwinst.exe -u
rdpwinst.exe -i

Пытаемся открыть вторую RDP сессию. Все получилось! Теперь наша Windows 10 позволяет одновременно подключаться по RDP сразу двум удаленным пользователям.

Утилита должна работать на всех поддерживаемых на данный момент редакциях Windows : Windows Vista, Windows 7, Windows 8, Windows 8.1 и Windows 10. Таким образом из любой клиентской версии Windows можно сделать сервер терминалов.

Модификация файла termsrv.dll

Убрать ограничение на количество RDP подключений можно с помощью модификации файла termsrv.dll (файл библиотеки, используемый службой Remote Desktop Services). Файл находится в каталоге C:WindowsSystem32).

Перед модификацией файла termsrv.dll желательно создать его резервную копию (в случае необходимости можно будет вернуться к первоначальной версии файла):

copy c:WindowsSystem32 ermsrv.dll termsrv.dll_backup

Перед правкой файла termsrv.dll нужно стать его владельцем и предоставить группе администраторов полные права на него (все операции выполняются аналогично описанным в статье Убираем ограничение на количество RDP сессий в Windows 8). Затем остановите службу Remote Desktop service (TermService) из консоли services.msc или из командной строки:

Net stop TermService

Для редакции Windows 10 x64 RTM (версия файла termsrv.dll — 10.0.10240.16384): Откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer)

39 81 3C 06 00 00 0F 84 73 42 02 00

И замените ее на:

B8 00 01 00 00 89 81 38 06 00 00 90

Сохраните файл и запустите службу TermService.

У настольных операционных систем Microsoft есть некоторые ограничения, связанные с работой службы удаленных рабочих столов. Так во первых, поддержка серверной части (RDP Host) есть только в старших редакциях Windows (не ниже Professional). В домашних редакциях этот функционал отключен, поэтому подключиться к младшим версиям Windows по RDP невозможно.

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

Обойти эти ограничения позволит проект RDP Wrapper Library by Stas’M. RDP Wrapper работает как прослойка между менеджером служб (Service Control Manager, SCM) и службой удаленных рабочих столов. При этом, в отличии от других решений подобного рода, он не подвергает изменениям файл termsrv.dll (библиотека, используемая службой Remote Desktop Services), что позволяет не опасаться обновлений Windows.

Судя по официальному сайту, проект активно живет и развивается. На данный момент выложена версия 1.5 от 2014.12.11, для которой заявлена поддержка новейших ОС, включая Windows 10 Technical Preview. Также доступны исходники, так что при желании можно самостоятельно собрать проект.

Загрузить RDP Wrapper можно со страницы программы в репозитории GitHub. В архив входят следующие компоненты:

• RDPWinst.exe — инсталлятор, с помощью которого производится установка и удаление RDP Wrapper;
• RDPConf.exe — утилита для настройки параметров подключения;
• RDPCheck.exe — утилита для локальной проверки работы RDP;
• install.bat и uninstall.bat — bat-файлы для удобства установкиудаления программы.

Для установки программы надо открыть командную строку с правами администратора, перейти в директорию с распакованными файлами и запустить install.bat. Все остальное, включая настройку исключений на файерволле, установщик сделает сам.

Дополнительно можно запустить утилиту RDPConf.exe, которая позволяет включатьотключать доступ, а также настраивать основные параметры подключения (порт, количество сессий на пользователя, тип аутентификации и пр.).

Ну и в качестве проверки я открыл на компьютер с установленной Windows 7 Home Basic две RDP-сессии для двух разных пользователей.

Что еще можно сказать. Проект однозначно полезный, в некоторых ситуациях даже незаменимый. Из минусов же — используя RDP Wrapper вы скорее всего нарушаете лицензионное соглашение.

Дополнение 04.05.2019.

Для корректной работы на Windows 10 1809 требуется обновить файл конфигурации rdpwrap.ini. В него надо добавить следующие строчки:

[10.0.17763.292]
; Patch CEnforcementCore::GetInstanceOfTSLicense
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=AFAD4
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=77A11
LocalOnlyCode.x64=jmpshort
; Patch CSessionArbitrationHelper::IsSingleSessionPerUserEnabled
SingleUserPatch.x86=1
SingleUserOffset.x86=4D665
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=1322C
SingleUserCode.x64=Zero
; Patch CDefPolicy::Query
DefPolicyPatch.x86=1
DefPolicyOffset.x86=4BE69
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=17F45
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
; Hook CSLQuery::Initialize
SLInitHook.x86=1
SLInitOffset.x86=5B18A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=1ABFC
SLInitFunc.x64=New_CSLQuery_Initialize

И в конец ini файла дополнительно надо добавить строки:

[10.0.17763.292-SLInit]
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bRemoteConnAllowed.x86=CD7AC
bMultimonAllowed.x86 =CD7B0
ulMaxDebugSessions.x86=CD7B4
bFUSEnabled.x86 =CD7B8

bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bRemoteConnAllowed.x64=ECAC4
bMultimonAllowed.x64 =ECAC8
ulMaxDebugSessions.x64=ECACC
bFUSEnabled.x64 =ECAD0

В конце файла обязательно пустая строка.

JackE9

I’ve just installed RDP Wrap and I’m running into some issues:

RDF Check states the error «Socket connection failed».

RDF Configuration shows that the listener state is not listening and not supported.

Here are the images: imgur.com/a/eTTPGuY

I have done some research on the «issues» tab and I saw some people suggesting that removing a windows security update can fix this issue, however, I have a fresh install of windows, so I don’t think this option is available for me.

I am running Windows 10 Home, version 1909. OS build: 18363.657

andychallis

found my Rdp wrapper was no longer working in the last few weeks so I have installed the latest 1.6.1 ver but when I run RDPConf I am still getting that rdp wrapper: not installed as below
image

Nenca867564

Hello

Remote desktop only works two connections.

Need Help please! Thanks a lot !

vermeapenas

i need help

Test031

9780919786

lrsgzs

I was updated Windows to Dev 10.0.25281.1000 yesterday.
The Rdpwrap was not support this version.
Please help me! Thanks.

chgy188

Adamiscool110

hello I just got rdp and it wont load after the back ground any help?
image
image

ukrolelo

Greetings,
RDP connection is not working from my Android phone to wrapped Windows 10 VM. From PC to PC its working and from phone to W8.1/WS2008R2/linux RDP its working.

Error screen:

Connecting to <IP>
Configuring remote PC...

RDP host:

Windows 10 Enterprise
1803
OS build 17134.112

RDP client:

Android
Microsoft Remote Desktop 10.0.15.1208

signal15

EliezerBee

I think this would be a great idea, actually. That’s easy enough to document and for users of RDPWrap to do. And it would make people calmer since every AV wouldn’t be alarming.

          Well, maybe if I change the behaviour of installer not to enable RDP by default after installation, it will be more secure, and those AVs would be more quiet.

Originally posted by @binarymaster in #277 (comment)

Zander0005

when i log put in my email and password i get access denied
image
image

WhoIsEv

I tried updating the .ini file but nothing works, is there any file code I can replace with the old code in the ini file? Hopefully I can get it running.
I’m running Microsoft Windows 10 Home Version 22H2 Build 19045.2486

KrisWare1

CC0126

termsrv.zip
Need help with 10.0.22621.608
The dll file I attached here

gerpaick

Hi,
my windows just got upgraded from 10 to 11. I uninstalled RDP Wrapper and reinstalled it.
I have info that my terminal services are not supported
image

but then when I run RDP_CnC I get info that everything is fine.
image

However, I can only open one RDP session at the moment.

Overnox

Screenshot_1

Helllo friends,

unfortunately I have the problem as someone in another post.

As soon as two users work on the machine, one of them writes completely different letters or numbers than those that are pressed.

Does anyone have any advice?

#532

edvinas31

Hi, it looks like version I am using is not supported. I am using Microsoft Windows [Version 10.0.19044.2075]

Could you do something about that?

zshuaia

I have a very important and urgent matter that I need your help to solve!

I am currently using windows7 as a remote desktop host. However, after running for some time, you cannot connect to this host.
«There is a problem with your license for Remote Desktop and the session will end in 60 minutes»

Содержание

  • Процедура создания терминального сервера
    • Способ 1: RDP Wrapper Library
    • Способ 2: UniversalTermsrvPatch
  • Вопросы и ответы

Терминальный сервер на компьютере с ОС Windows 7

При работе в офисах нередко возникает необходимость создания терминального сервера, к которому будут подключаться другие компьютеры. Например, данная возможность очень востребована при групповой работе с 1С. Существуют специальные серверные операционные системы, предназначенные, как раз для этих целей. Но, как оказывается, данную задачу можно решить даже при помощи обычной Виндовс 7. Посмотрим, как из ПК на Windows 7 можно создать терминальный сервер.

Процедура создания терминального сервера

Операционная система Windows 7 по умолчанию не предназначена для создания терминального сервера, то есть не предоставляет возможность работы нескольким пользователям одновременно в параллельных сессиях. Тем не менее, произведя определенные настройки ОС, можно добиться решения поставленной в данной статье задачи.

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

Способ 1: RDP Wrapper Library

Первый способ осуществляется с помощью небольшой утилиты RDP Wrapper Library.

Скачать RDP Wrapper Library

  1. Прежде всего, на компьютере, предназначенном к использованию в качестве сервера, создайте учетные записи пользователей, которые будут подключаться с других ПК. Делается это обычным способом, как и при штатном создании профиля.
  2. Создание учетной записи в окне Управление учетными записями в Панели управления в Windows 7

  3. После этого распакуйте архив ZIP, в котором содержится заранее скачанная утилита RDP Wrapper Library, в любой каталог на ПК.
  4. Извлечение файлов RDP Wrapper Library из архива ZIP с помощью контекстного меню в Проводнике в Windows 7

  5. Теперь нужно произвести запуск «Командной строки» с административными полномочиями. Щелкайте «Пуск». Выбирайте «Все программы».
  6. Переход во все программы с помощью меню Пуск в Windows 7

  7. Переходите в каталог «Стандартные».
  8. Переход в каталог Стандартные с помощью меню Пуск в Windows 7

  9. В перечне инструментов ищите надпись «Командная строка». Щелкните по ней правой кнопкой мышки (ПКМ). В открывшемся перечне действий выберите «Запуск от имени администратора».
  10. Запуск Командной строки от имени администратора через контестное меню с помощью меню Пуск в Windows 7

  11. Интерфейс «Командной строки» запущен. Теперь следует ввести команду, инициализирующую запуск программы RDP Wrapper Library в том режиме, который требуется для решения поставленной задачи.
  12. Интерфейс Командной строки запущенной от имени администратора в Windows 7

  13. Переключитесь в «Командной строке» на тот локальный диск, куда вы распаковали архив. Для этого просто введите букву диска, поставьте двоеточие и жмите Enter.
  14. Переключение на другой диск через интерфейс командной строки в Windows 7

  15. Перейдите в тот каталог, куда вы распаковали содержимое архива. Сначала впишите значение «cd». Поставьте пробел. Если искомая папка находится в корне диска, то просто вбейте её наименование, если же она является вложенным каталогом, то требуется указать полный путь к нему через слэш. Жмите Enter.
  16. Переход в папку размещения программы через интерфейс командной строки в Windows 7

  17. После этого активируем файл RDPWInst.exe. Введите команду:

    RDPWInst.exe

    Lumpics.ru

    Жмите Enter.

  18. Запуск программы RDPWrap-v1.6.1 через интерфейс командной строки в Windows 7

  19. Открывается перечень различных режимов работы данной утилиты. Нам нужно использовать режим «Install wrapper to Program Files folder (default)». Для его применения следует ввести атрибут «-i». Введите его и жмите Enter.
  20. Ввод атрибута i для программы RDPWrap-v1.6.1 через интерфейс командной строки в Windows 7

  21. RDPWInst.exe выполнит необходимые изменения. Для того чтобы ваш компьютер можно было использовать в качестве терминального сервера, нужно произвести ещё ряд настроек системы. Щелкайте «Пуск». Кликните ПКМ по наименованию «Компьютер». Выберите пункт «Свойства».
  22. Переход в свойства компьютера через контекстное меню в меню Пуск в Windows 7

  23. В появившемся окне свойств компьютера через боковое меню перейдите по пункту «Настройка удаленного доступа».
  24. Переход в окно настройки удаленного доступа из окна свойств системы в Windows 7

  25. Появляется графическая оболочка свойств системы. В разделе «Удаленный доступ» в группе «Удаленный рабочий стол» переставьте радиокнопку в положение «Разрешать подключение от компьютеров…». Жмите по элементу «Выбрать пользователей».
  26. Разрешение подключения от компьютеров с любой версией удаленного рабочего стола во вкладке Удаленный доступ окна Свойства системы в Windows 7

  27. Открывается окошко «Пользователи удаленного стола». Дело в том, что если вы в нем не укажите имена конкретных юзеров, то удаленный доступ к серверу получат только учетные записи с административными полномочиями. Жмите «Добавить…».
  28. Переход к добавлению пользователей для предоставления удаленного доступа в окне Пользователи удаленного стола в Windows 7

  29. Запускается окошко «Выбор: «Пользователи»». В поле «Введите имена выбираемых объектов» через точку с запятой внесите наименования созданных ранее учетных записей юзеров, которым требуется предоставить доступ к серверу. Жмите «OK».
  30. Введение наименований учетных записей в окне Выбор Пользователи в Windows 7

  31. Как видим, нужные наименования учетных записей отобразились в окне «Пользователи удаленного рабочего стола». Жмите «OK».
  32. Учетные записи добавлены в окне Пользователи удаленного стола в Windows 7

  33. После возврата в окно свойств системы жмите «Применить» и «OK».
  34. Сохранение изменений во вкладке Удаленный доступ окна Свойства системы в Windows 7

  35. Теперь осталось произвести изменения настроек в окне «Редактора локальной групповой политики». Для вызова этого инструмента воспользуемся методом введения команды в окно «Выполнить». Жмите Win+R. В появившемся окошке вбейте:

    gpedit.msc

    Жмите «OK».

  36. Переход в окно Редактора локальной групповой политики путем введения команды в окно Выполнить в Windows 7

  37. Открывается окно «Редактора». В левом меню оболочки щелкайте «Конфигурация компьютера» и «Административные шаблоны».
  38. Переход в раздел Административные шаблоны в окне Редактора локальной групповой политики в Windows 7

  39. Переходите в правую часть окна. Там зайдите в папку «Компоненты Windows».
  40. Переход в раздел Компоненты Windows в окне Редактора локальной групповой политики в Windows 7

  41. Ищите папку «Службы удаленных рабочих столов» и войдите в неё.
  42. Переход в раздел Служба удаленных рабочих столов в окне Редактора локальной групповой политики в Windows 7

  43. Зайдите в каталог «Узел сеансов удалённых рабочих столов».
  44. Переход в раздел Узел сеансов удалённых рабочих столов в окне Редактора локальной групповой политики в Windows 7

  45. Среди следующего списка папок выбирайте «Подключения».
  46. Переход в раздел Подключения в окне Редактора локальной групповой политики в Windows 7

  47. Открывается список параметров политики раздела «Подключения». Выберите параметр «Ограничить количество подключений».
  48. Переход в параметр Ограничить количество подключений в разделе Подключения в окне Редактора локальной групповой политики в Windows 7

  49. Открывается окно настроек выбранного параметра. Переставьте радиокнопку в позицию «Включить». В поле «Разрешено подключений к удаленным рабочим столам» введите значение «999999». Это означает неограниченное количество подключений. Жмите «Применить» и «OK».
  50. Снятие ограничений количества подключений в окне настроек параметра Ограничить количество подключений в Windows 7

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

Способ 2: UniversalTermsrvPatch

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

Скачать UniversalTermsrvPatch

  1. Прежде всего, создайте на компьютере учетные записи тех пользователей, которые будут использовать его в качестве сервера, как это делалось в предыдущем способе. После этого скачанный UniversalTermsrvPatch распакуйте из архива RAR.
  2. Извлечение файлов UniversalTermsrvPatch из архива RAR с помощью контекстного меню в Проводнике в Windows 7

  3. Зайдите в распакованную папку и запустите файл UniversalTermsrvPatch-x64.exe или UniversalTermsrvPatch-x86.exe, в зависимости от разрядности процессора на компьютере.
  4. Запуск файла UniversalTermsrvPatch в Проводнике в Windows 7

  5. После этого для внесения изменений в системный реестр запустите файл под названием «7 and vista.reg», расположенный в том же каталоге. Затем перезагрузите компьютер.
  6. Запуск файла 7 and vista в Проводнике в Windows 7

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

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

Еще статьи по данной теме:

Помогла ли Вам статья?

Recommend Projects

  • React photo

    React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo

    Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo

    Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo

    TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo

    Django

    The Web framework for perfectionists with deadlines.

  • Laravel photo

    Laravel

    A PHP framework for web artisans

  • D3 photo

    D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Visualization

    Some thing interesting about visualization, use data art

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo

    Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo

    Microsoft

    Open source projects and samples from Microsoft.

  • Google photo

    Google

    Google ❤️ Open Source for everyone.

  • Alibaba photo

    Alibaba

    Alibaba Open Source for everyone

  • D3 photo

    D3

    Data-Driven Documents codes.

  • Tencent photo

    Tencent

    China tencent open source team.

Удаленные пользователи могут подключаться к своим компьютерам Windows 10 или 11 через службу удаленных рабочих столов (RDP). Достаточно включить удаленный рабочий стол (Remote Desktop), разрешить RDP доступ для пользователя и подключиться к компьютеру с помощью любого клиента удаленного рабочего стола. Однако в десктопных версия Windows есть ограничение на количество одновременных RDP сессии. Разрешается только один активный Remote Desktop сеанс пользователя.

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

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

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

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

Another user is signed in. If you continue, they’ll be disconnected. Do you want to sign in anyway?

Содержание:

  • Ограничения на количество RDP сессий в Windows
  • RDP Wrapper: разрешить несколько RDP сеансов в Windows
  • Не работает RDP Wrapper в Windows
  • Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11
  • Встроенная поддержка нескольких RDP сессий в редакции Windows 10 Enterprise Multi-session

Ограничения на количество RDP сессий в Windows

Во всех десктопных версиях Windows 10 и 11 есть ряд ограничений на использование служб удаленного рабочего стола

  1. Разрешено удаленно подключаться по RDP только к редакциям Windows Professional и Enterprise. В домашних редакциях (Home/Single Language) RDP доступ запрещен;
  2. Поддерживается только одно одновременное RDP подключение. При попытке запустить вторую RDP-сессию, пользователю будет предложено завершить активный сеанс;
  3. Если пользователь работает за консолью компьютера (локально), то при удаленном подключении по RDP, его локальный сеанс будет отключен (заблокирован). Также завершается и удаленный RDP сеанс, если пользователь входит в Windows через консоль компьютера.

Ограничение на количество одновременных RDP подключений в Windows является не техническим, но программным и лицензионным. Таким образом Microsoft запрещает создавать терминальный RDP сервер на базе рабочей станции для одновременной работы нескольких пользователей.

Если ваши задачи требуют развертывание терминального сервера, Microsoft предлагает пробрести Windows Server (по умолчанию разрешает 2 активных RDP подключения). Если вам нужно большее количество одновременных сессий пользователей, нужно приобрести лицензии RDS CAL, установить и настроить роль Remote Desktop Session Host (RDSH) или полноценную RDS ферму.

Технически любая редакция Windows при наличии достаточного ресурсов оперативной памяти и CPU может обслуживать одновременную работу нескольких десятков удаленных пользователей. В среднем на одну RDP сессию пользователя требуется 150-200 Мб памяти (без учета запускаемых приложений). Т.е. максимальное количество одновременных RDP сессий в теории ограничивается только ресурсами компьютера.

В этой статье мы покажем три способа убрать ограничение на количество одновременных RDP подключений в Windows 10 и 11:

  • Использование RDP Wrapper
  • Модификации системного файла termsrv.dll
  • Апгрейд до редакции Windows 10/11 Enterprise for virtual desktops (multi-session)

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

Прежде, чем продолжить, проверьте что в настройках Windows включен протокол Remote Desktop.

  • Откройте панель Settings -> System —> Remote Desktop -> включите опцию Enable Remote Desktop;settings - включить rdp в windows
  • Либо воспользуйтесь классической панель управления: выполните команду SystemPropertiesRemote -> Перейдите на вкладку Remote Settings (Удаленный доступ), включите опцию Allow remote connection to this computer (Разрешить удалённые подключения к этому компьютеру).

RDP Wrapper: разрешить несколько RDP сеансов в Windows

Open-source утилита RDP Wrapper Library позволяет разрешить конкурентные RDP сессии в Windows 10/11 без замены системного файла termsrv.dll.

RDP Wrapper работает в качестве прослойки между менеджером управления службами Service Control Manager, SCM) и службой терминалов (Remote Desktop Services). RDP Wrapper не вносит никаких изменений в файл termsrv.dll, просто загружая termsrv с изменёнными параметрами.

Важно. Перед установкой RDP Wrapper важно убедится, чтобы у вас использовалась оригинальная (непропатченная) версия файл termsrv.dll. Иначе RDP Wrapper может работать не стабильно, или вообще не запускаться.

Вы можете скачать RDP Wrapper из репозитория GitHub: https://github.com/binarymaster/rdpwrap/releases (последняя доступная версия RDP Wrapper Library v1.6.2). Утилита не обновляется с 2017 года, но ее можно использовать на всех билдах Windows 10 и 11. Для работы утилиты в современных версиях Windows достаточно обновить конфигурационный файл rdpwrap.ini.

Большинство антивирусов определяют RDP Wrapper как потенциально опасную программу. Например, встроенный Microsoft Defender антивирус классифицирует программу как PUA:Win32/RDPWrap (Potentially Unwanted Software) с низким уровнем угрозы. Если настройки вашего антивируса блокируют запуск RDP Wrapper, нужно добавить его в исключения. Антвирус определеяет RDPwrapper как PUA-Win32-RDPWrap

Архив RDPWrap-v1.6.2.zip содержит несколько файлов:

  • RDPWinst.exe —программа установки/удаления RDP Wrapper Library;
  • RDPConf.exe — утилита настройки RDP Wrapper;
  • RDPCheck.exe — Local RDP Checker — утилита для проверки RDP доступа;
  • install.bat, uninstall.bat, update.bat — пакетные файлы для установки, удаления и обновления RDP Wrapper.

Архив RDPWrap-v1.6.2.zip

Чтобы установить RDPWrap, запустите файл
install.bat
с правами администратора.

Установка rdpwrapper в windows 10

После окончания установки запустите RDPConfig.exe.

rdp-wrapper: красная надпись не поддерживается [not supported]

Скорее всего сразу после установки утилита покажет, что RDP wrapper запущен (Installed, Running, Listening), но не работает. Обратите внимание на красную надпись. Она сообщает, что данная версий Windows 10 (ver. 10.0.19041.1949) не поддерживается ([not supported]).

Причина в том, что в конфигурационном файле rdpwrap.ini отсутствует секция с настройками для вашего версии (билда) Windows. Актуальную версию файла rdpwrap.ini можно скачать здесь https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini

Вручную скопируйте содержимое данной страницы в файл «C:\Program Files\RDP Wrapper\rdpwrap.ini». Или скачайте файл с помощью PowerShell командлета Invoke-WebRequest (предварительно нужно остановить службу Remote Desktop):

Stop-Service termservice -Force
Invoke-WebRequest https://raw.githubusercontent.com/sebaxakerhtc/rdpwrap.ini/master/rdpwrap.ini -outfile "C:\Program Files\RDP Wrapper\rdpwrap.ini"

обновить файл rdpwrap.ini вручную

alert] Можно создать задание планировщика для проверки изменений в файле rdpwrap.ini и его автоматического обновления [/alert]

На данном скриншоте видно, что на компьютере установлена свежая версия файла rdpwrap.ini (Updated=2023-06-26).

Перезагрузите компьютер, запустите утилиту RDPConfig.exe. Проверьте, что в секции Diagnostics все элементы окрашены в зеленый цвет, и появилось сообщение [Fully supported]. На скриншоте ниже показано, что RDP Wrapper с данным конфигом успешно запущен в Windows 11 22H2.

запуск rdpwrapper в windows 11

Теперь попробуйте установить несколько одновременных RDP сессий с этим компьютером под разными пользователями (воспользуйтесь любым RDP клиентом: mstsc.exe, RDCMan, mRemoteNG и т.д.).

Можете проверить что на компьютере активны одновременно две RDP сессии (или более) с помощью команды:

qwinsta

rdp-tcp#0         user1                 1  Active
rdp-tcp#1         user2                 2  Active

qwnista: вывести активные rdp сессии в windows

Поддержка нескольких RDP сесиий в Windows 10

Утилита RDPWrap поддерживается во версиях Windows (включая домашние редакции Windows Home), таким образом из любой клиентской версии Windows можно сделать полноценный сервер терминалов.

В интерфейсе RDP Wrapper доступны следующие опции:

  • Enable Remote Desktop — включить/отключить Remote Desktop в Windows доступ
  • RDP Port — можно изменить стандартный номера порта удаленного рабочего стола TCP 3389
  • Опция Hide users on logon screen позволяет скрыть список пользователей на экране приветствия;
  • Single session per user —разрешить несколько одновременных RDP сессий под одной учетной записью пользователя. Эта опция устанавливает параметр реестра fSingleSessionPerUser = 0 в ветке HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server). Также этот параметр настраивается через опцию GPO Restrict Remote Desktop Services to a single Remote Desktop Services session в разделе Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections.
  • В секции Session Shadowing Mode вы можете настроить режим теневого подключения к рабочему столу пользователей Windows .

Не работает RDP Wrapper в Windows

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

Во время установки обновлений Windows может обновиться версия файла termsrv.dll. Если в файле rdpwrap.ini отсутствует описание для вашей версии Windows, значит RDP Wrapper не может применить необходимые настройки. В этом случае в окне RDP Wrapper Configuration будет указан статус [not supported].

В этом случае нужно обновить файл rdpwrap.ini как описано выше.
Если RDP Wrapper не работает после обновления файла rdpwrap.ini, попробуйте открыть файл rdpwrap.ini и найти в нем описание для вашей версии Windows.
Как понять, есть ли поддержка вашей версии Windows в конфиг файле rdpwrapper?
На скриншоте ниже показано, что для моей версии Windows 11 (10.0.22621.317) есть две секции с описаниями:

[10.0.22621.317]
...
[10.0.22621.317-SLInit]
...

rdpwrapper - добавить описание в файл rdpwrap.ini для вашей редакции windows

Если в конфигурационном файле rdpwrap соответствующая секция отсутствует для вашей версии Windows, попробуйте поискать в сети строки rdpwrap.ini для вашего билда. Добавьте найденные строки в самый конец файла.

Если после установки обновлений безопасности или после апгрейда билда Windows 10, RDP Wrapper не работает, проверьте, возможно в секции Diagnostics присутствует надпись Listener state: Not listening.

Listener state: Not listening

Попробуйте обновить ini файл, и затем переустановить службу:

rdpwinst.exe -u
rdpwinst.exe -i

Бывает, что при попытке второго RDP подключения под другим пользователем у вас появляется надпись:

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

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

The number of connections to this computer is limited and all connections are in use right now. Try connecting later or contact your system administrator.

The number of connections to this computer is limited and all connections are in use right now.

В этом случае нужно с помощью редактора групповых политики gpedit.msc в секции Конфигурация компьютера –> Административные шаблоны -> Компоненты Windows -> Службы удаленных рабочих столов -> Узел сеансов удаленных рабочих столов -> Подключения включить политику “Ограничить количество подключений” и изменить ее значение на 999999 (Computer Configuration -> Administrative Templates -> Windows Components ->Remote Desktop Services ->Remote Desktop Session Host -> Connections-> Limit number of connections).

групповая политика Ограничить количество rdp подключений

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

Модификация файла termsrv.dll для снятия ограничений RDP в Windows 10 и 11

Чтобы убрать ограничение на количество RDP подключений пользователей в Windows без использования rdpwrapper нужно заменить файл termsrv.dll. Это файл библиотеки, которая используется службой Remote Desktop Services. Файл находится в каталоге C:\Windows\System32.

Прежде, чем править или заменять файл termsrv.dll желательно создать его резервную копию. Это поможет вам в случае необходимости можно будет вернуться к исходной версии файла. Запустите командную строку с правами администратора и выполните команду:

copy c:\Windows\System32\termsrv.dll termsrv.dll_backup

Затем нужно стать владельцем файла. Проще всего это сделать из командной строки. Чтобы сменить владельца файла с TrustedInstaller на группу локальных администраторов с помощью команды:

takeown /F c:\Windows\System32\termsrv.dll /A

Должно появится сообщение: «SUCCESS: The file (or folder): «c:\Windows\System32\termsrv.dll» now owned by the administrators group».

Теперь с помощью icacls.exe предоставьте группе локальных администраторов полные права на файл termsrv.dll (Full Control):

icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
(или
Администраторы
в русской версии Windows).

Должно появится сообщение: «processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files«.

termsrv.dll стать владельцем файла termsrv.dll с помощью takeown

Теперь нужно остановить службу Remote Desktop Service (TermService) из консоли services.msc или из командной строки:

Net stop TermService

Вместе с ней останавливается служба Remote Desktop Services UserMode Port Redirector.

Служба Remote Desktop service

Чтобы узнать номер билда вашей Windows, выполните команду winver или следующую команды PowerShell:

Get-ComputerInfo | select WindowsProductName, WindowsVersion

В моем случае установлена Windows 10 билд 22H2.

Затем откройте файл termsrv.dll с помощью любого HEX редактора (к примеру, Tiny Hexer). В зависимости от билда нужно найти и заменить строку:

Версия Windows Найти строку Заменить на
Windows 11 22H2 39 81 3C 06 00 00 0F 84 75 7A 01 00  

B8 00 01 00 00 89 81 38 06 00 00 90

Windows 10 22H2 39 81 3C 06 00 00 0F 84 85 45 01 00
Windows 11 RTM ( 21H2 22000.258) 39 81 3C 06 00 00 0F 84 4F 68 01 00
Windows 10 x64 21H2 39 81 3C 06 00 00 0F 84 DB 61 01 00
Windows 10 x64 21H1 39 81 3C 06 00 00 0F 84 2B 5F 01 00
Windows 10 x64 20H2 39 81 3C 06 00 00 0F 84 21 68 01 00
Windows 10 x64 2004 39 81 3C 06 00 00 0F 84 D9 51 01 00
Windows 10 x64 1909 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1903 39 81 3C 06 00 00 0F 84 5D 61 01 00
Windows 10 x64 1809 39 81 3C 06 00 00 0F 84 3B 2B 01 00
Windows 10 x64 1803 8B 99 3C 06 00 00 8B B9 38 06 00 00
Windows 10 x64 1709 39 81 3C 06 00 00 0F 84 B1 7D 02 00

Редактор Tiny Hexer не позволяет редактировать файл termsvr.dll напрямую из папки system32. Скопируйте его на рабочий стол, а после модификации замените исходный файл.

Например, для самой редакции Windows 10 x64 22H2 19045.2006 (версия файла termsrv.dll — 10.0.19041.1949) нужно открыть файл termsrv.dll в Tiny Hexer. Затем найдите строку:

39 81 3C 06 00 00 0F 84 85 45 01 00

И замените ее на:

B8 00 01 00 00 89 81 38 06 00 00 90

редактировать termsrv.dll в hex редакторечтобы разрешить множественные rdp подключения

Сохраните файл и запустите службу TermService.
Если что-то пошло не так, и у вас возникнут проблемы со службой RDP, остановите службу и замените модифицированный файл termsrv.dll исходной версией:

copy termsrv.dll_backup c:\Windows\System32\termsrv.dll

Преимущество способа отключения ограничения на количество RDP сессий в Windows путем замены файла termsrv.dll в том, что на него не реагируют антивирусы. В отличии от утилиты RDPWrap, которую многие антивирусов считают Malware/HackTool/Trojan. Основной недостаток — вам придется вручную править файл после каждого обновления билда Windows (или при обновлении версии файла termsrv.dll в рамках ежемесячных кумулятивных обновлений).

Встроенная поддержка нескольких RDP сессий в редакции Windows 10 Enterprise Multi-session

Недавно Microsoft выпустило специальные Enterprise редакции Windows multi-session (ранее назывались Windows 10 Enterprise for Remote Sessions и Windows 10 Enterprise for Virtual Desktops).

Редакция Enterprise multi-session доступна как для Windows 10, так и для Windows 11.

Главная особенность этой редакции – она поддерживает множественные одновременные RDP сессии пользователей прямо из коробки. Несмотря на то, что редакцию Windows multi-session разрешено запускать только в виртуальных машинах Azure, вы можете вам установить эту редакцию в on-premises сети и использовать данный компьютер терминальный сервер (хотоя это будет нарушением лицензионной политики Microsoft).

Далее мы покажем, как обновить компьютер с Windows 10 Pro до Windows 10 Enterprise for Virtual Desktop и использовать его для одновременного подключения нескольких пользователей.

Откройте командную строку и проверьте текущую редакцию Windows (Professional в этом примере):

DISM /online /Get-CurrentEdition

узнать текущую редакцию windows

Обновите вашу редакцию Windows с Pro до Enterprise:

Changepk.exe /ProductKey NPPR9-FWDCX-D2C8J-H872K-2YT43

Теперь установить GVLK ключ для Windows 10 Enterprise for Remote Sessions:

slmgr.vbs /ipk CPWHC-NT2C7-VYW78-DHDB2-PG3GK

Апгрейд windows до редакции enterprise remote sessions

Проверьте, что теперь ваша редакция Windows 10 изменилась на
ServerRdsh
(Windows 10 Enterprise for Virtual Desktops).

Редакция windows 10 ServerRdsh

Активируйте вашу копию Windows Enterprise Multi-Session на вашем KMS сервере:

slmgr /skms msk-man02.winitpro.local:1688
slmgr /ato

kms активация windows 10 ServerRdsh

Откройте редактор локальной GPO
(gpedit.msc
) и включите Per-User режим лицензирования в параметре Set the Remote Desktop licensing mode (Computer Configuration -> Policies -> Administrative Templates -> Windows Components -> Remote Desktop Services -> Remote Desktop Session Host -> Licensing).

per-user режим лицензирования RDS

После активации нужно перезагрузить Windows. Теперь попробуйте подключиться к компьютеру по RDP под несколькими пользованиями. Как вы видите, Windows 10 Enterprise multi-session одновременные RDP подключения поддерживаются прямо из коробки.

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer

Windows 10 Enterprise for Virtual Desktops 2009           10.0.19041.2728

qwinsta

несколько активных rdp сеансов в windows 10 enterprise virtual desktop 2009

В этой статье мы рассмотрели способы, позволяющие снять ограничение на количество одновременных RDP подключений пользователей, и запустить бесплатный терминальный сервер на клиентской Windows 10 или 11. У каждого из этих способов есть свои преимущества и недостатки. Какой из них использовать — решать вам.

  • Realme usb driver windows 10
  • Rdr 2 на windows 7
  • Realme pc suite для windows
  • Realme c11 драйвера для windows 7
  • Rdpwrap не работает на windows 10