null

RDP Wrapper - проблема Not listening [not supported] в последних версиях Windows 10 в редакции Home

Существует множество различий между двумя основными редакциями Windows 10 Home и Pro. Одно из ключевых различий - отсутствие Remote Desktop Services в Home редакции Windows 10. Покупку Pro лицензии на замену Home ради RDP, трудно назвать обоснованным решением при наличии модификаций, позволяющих вернуть функционал для работы с удалённым доступом.  Например патченный файл "Termsrv.dll" в связке с системным процессом Service Control Manager.
​​​​​​​
​​​​​​​Одно из лучших решений модификаций, которое предлагает сообщество - является RDP Wrapper Library.  В интернете достаточно информации о данной библиотеке и её использовании. Однако она имеет свой основной недостаток в виде отсутствия обновлений с 27 декабря 2017 года. С того времени по сегодняшний день, в свет успели выйти версии Windows 10 начиная с 1703 и заканчивая 20H2.

​​​​​​​Основная проблема возникающая при запуске RDP Wrapper - это [not supported] в Listener State из-за различий версий Service Control Manager с конфигом rdpwrap.ini

Win10 - April 2019 Updates - RDP Wrapper Not Supported ...
​​​​​​​Пример конфига:

[10.0.18362.657]
LocalOnlyPatch.x86=1
LocalOnlyOffset.x86=B7D06
LocalOnlyCode.x86=jmpshort
LocalOnlyPatch.x64=1
LocalOnlyOffset.x64=82FB5
LocalOnlyCode.x64=jmpshort
SingleUserPatch.x86=1
SingleUserOffset.x86=50535
SingleUserCode.x86=nop
SingleUserPatch.x64=1
SingleUserOffset.x64=0DBFC
SingleUserCode.x64=Zero
DefPolicyPatch.x86=1
DefPolicyOffset.x86=50269
DefPolicyCode.x86=CDefPolicy_Query_eax_ecx
DefPolicyPatch.x64=1
DefPolicyOffset.x64=1FE15
DefPolicyCode.x64=CDefPolicy_Query_eax_rcx
SLInitHook.x86=1
SLInitOffset.x86=5A77A
SLInitFunc.x86=New_CSLQuery_Initialize
SLInitHook.x64=1
SLInitOffset.x64=22DDC
SLInitFunc.x64=New_CSLQuery_Initialize

[10.0.18362.657-SLInit]
bInitialized.x86      =D577C
bServerSku.x86        =D5780
lMaxUserSessions.x86  =D5784
bAppServerAllowed.x86 =D578C
bRemoteConnAllowed.x86=D5790
bMultimonAllowed.x86  =D5794
ulMaxDebugSessions.x86=D5798
bFUSEnabled.x86       =D579C
bInitialized.x64      =F6A8C
bServerSku.x64        =F6A90
lMaxUserSessions.x64  =F6A94
bAppServerAllowed.x64 =F6A9C
bRemoteConnAllowed.x64=F6AA0
bMultimonAllowed.x64  =F6AA4
ulMaxDebugSessions.x64=F6AA8
bFUSEnabled.x64       =F6AAC


Где 10.0.* версия SCM.

​​​​​​​Основное решение проблемы [not supported] - это правка конфига под нужную версию SCM.
​​​​​​​
​​​​​​​При "гугление" проблемы, можно обнаружить множестве веток обсуждений на GitHub с приведением конфигов к нужной версии. Для частичной автоматизации можно воспользоваться этим bat скриптом: https://github.com/asmtron/rdpwrap/blob/master/bin/autoupdate.bat

​​​​​​​Его особенность, что после строчек:

REM -----------------------------------------
REM Location of new/updated rdpwrap.ini files
REM -----------------------------------------

Можно добавлять свои найденные правки чужого конфига rdpwrap.ini, которые он успешно внесёт в основной конфиг rdpwrap.ini. Это помогает автоматизировать развёртыватывание RDP Wrapper в случае большого парка машин с разными сборками Windows 10 редакции Home.

​​​​​​Пример добавления найденного конгфига:

set rdpwrap_ini_update_github_1="https://raw.githubusercontent.com/asmtron/rdpwrap/master/res/rdpwrap.ini"

Где set задаёт значение в виде ссылки на конфиг.

​​​​​​​При установке RDP Wrapper желательно заранее отключить все сетевые интерфейсы используя ncpa.cpl

​​​​​​​По итогу пункт Listener State должен получить статус [fully supported] и можно проверять доступ по RDP:

Any help available for 10.0.18363.476 (1909 enterprise)? · Issue #928 ·  stascorp/rdpwrap · GitHub​​​​​​​


​​​


​​​​​​​

Коротко о себе:



​​​​​​​​​​​​​​Работаю инженером в компании Tune-it.

Ничего не найдено. n is 0