- Создание и настройка RDP сервера на любой версии Windows с помощью RDP Wrapper
- Информация о программе
- Установка и настройка
- Настройка пользователей для доступа к удаленному рабочему столу
- Rdpwrap для windows server
- Rdpwrap для windows server
- Исправляем недостатки RDP с помощью RDP Wrapper Library
- Дополнение 04.05.2019.
Создание и настройка RDP сервера на любой версии Windows с помощью RDP Wrapper
Информация о программе
RDP Wrapper — программа, являющаяся альтернативой службе удаленных рабочих столов. Она может понадобится по причине того, что Вас не устраивают ограничения в плане работы удаленного рабочего стола, вводимые Microsoft на различные редакции Windows. Благодаря данной программе, на любой версии Windows можно реализовать:
- Полноценный RDP сервер (который отсутствует в домашних редакциях Windows);
- Возможность одновременной работы нескольких пользователей через удаленный рабочий стол;
- Поддержка работы по удаленному рабочему столу с использованием нескольких мониторов.
Скачать программу можно со страницы официального GitHub репозитория — https://github.com/stascorp/rdpwrap/releases. В наличии как MSI установщик, так и zip архив.
Установка и настройка
Для установки доступны MSI файл установки и zip архив с программой. В данной статье будет рассмотрен пример с установкой программы из zip архива.
- Скачиваем и распаковываем содержимое архива. Должны появится следующие файлы:
- install.bat — пакетный файл установки RDP Wrapper в систему;
- RDPCheck.exe — утилита для локальной проверки работы сервера удаленного рабочего стола;
- RDPConf.exe — утилита для настройки сервера RDP Wrapper;
- RDPWInst.exe — файл установки RDP Wrapper;
- uninstall.bat — пакетный файл удаления RDP Wrapper из системы;
- update.bat — пакетный файл для обновления RDP Wrapper из интернета.
- Для быстрой установки в систему RDP Wrapper, достаточно воспользоваться файлом install.bat, который необходимо запустить с правами администратора.
- После запуска появится черное окошко, где в случае успешной установки будет написано Successfully installed. Для его закрытия достаточно нажать любую клавишу клавиатуры.
- Для проверки работы удаленного рабочего стола можно запустить утилиту RDPCheck.exe — она выполнит подключение к локальному серверу удаленного рабочего стола.
Настройка пользователей для доступа к удаленному рабочему столу
По умолчанию, доступ к удаленному рабочему столу имеют все пользователи операционной системы, которые состоят в группе «Администраторы». Для того, чтобы пользователь без прав администратора мог получить доступ к удаленному рабочему столу, его необходимо добавить в группу «Пользователи удаленного рабочего стола».
Однако, поскольку использование домашних операционных систем для предоставления удаленного рабочего стола не было предусмотрено, то и соответствующей группы в них нет. Но даже это можно исправить, правда несколько сложным путем — нужно запустить редактор реестра под учетной записью системы, и импортировать в реестр нужный файл, а затем через командную строку добавить пользователя в группу пользователей удаленного рабочего стола.
- Сперва нужно скачать набор утилит PsTools, который можно взять с сайта Microsoft — https://docs.microsoft.com/en-us/sysinternals/downloads/pstools.
Так же скачиваем архив с нужным reg файлом. - Распаковываем архив PsTools в любое нужное место. В нашем случае, оттуда нужен только файл PsExec.exe, поскольку с его помощью можно будет запустить «Редактор реестра» от имени системы.
- Запускаем командную строку с правами администратора. В ней вводим полный путь к файлу PsExec.exe (например, C:\Users\User\Desktop\PsExec.exe) со следующими параметрами: -s -i regedit.exe . В итоге должно получится следующее:
- Открываем меню Файл — Имопорт, и выбираем ранее скачанный файл реестра.
- В случае, если все прошло успешно, появится соответствующее сообщение — Содержащиеся в RemoteDesktopUsersGroup разделы и значения успешно внесены в реестр.
- Редактор реестра можно закрыть. Осталось добавить нужного пользователя в группу пользователей удаленного рабочего стола, для этого, в командной строке нужно выполнить (которая должна так же быть запущена с правами администратора):
где [ПОЛЬЗОВАТЕЛЬ] — логин пользователя в системе.
Rdpwrap для windows server
binarymaster released this Dec 27, 2017
- Installer updated
- Include updated INI file for latest Windows builds
- Added check for supported Windows versions (#155)
- Added feature to take INI file from current directory (#300)
- Added feature to restore rfxvmt.dll (missing in Windows 10 Home #194)
- RDP Config updated
- Added feature to allow custom start programs (#13 (comment))
- MSI installation package added (#14)
binarymaster released this Aug 1, 2016
- Include updated INI file for latest Windows builds
- Installer updated
- Added online install mode
- Added feature to keep settings on uninstall
- RDP Config updated
- Fixed update firewall rule on RDP port change
- Added feature to hide users on logon
binarymaster released this Aug 12, 2015
- Added support for Windows 10
- INI file has smaller size now — all comments are moved to KB file
- Installer updated
- Added workaround for 1056 error (although it isn’t an error)
- Added update support to installer
- Newest RDPClip versions are included with installer
- RDP Checker updated
- Changed connect IP to 127.0.0.2
- Updated some text messages
- RDP Config updated
- Added all possible shadowing modes
- Also it will write settings to the group policy
binarymaster released this Dec 10, 2014
Version 1.5 (build 2014.12.11)
- Added INI config support
- Configuration is stored in INI file now
- We can extend version support without building new binaries
- Added support for Windows 8.1 with KB3000850
- Added support for Windows 10 Technical Preview Update 2
- Installer updated
- RDP Config updated
- Diagnostics feature added to RDP Config
Rdpwrap для windows server
RDP Wrapper Library by Stas’M
The goal of this project is to enable Remote Desktop Host support and concurrent RDP sessions on reduced functionality systems for home usage.
RDP Wrapper works as a layer between Service Control Manager and Terminal Services, so the original termsrv.dll file remains untouched. Also this method is very strong against Windows Update.
NT Version | Screenshots |
---|---|
Windows Vista | |
Windows 7 | |
Windows 8 | |
Windows 8.1 | |
Windows 10 |
This solution was inspired by Windows Product Policy Editor, big thanks to kost 🙂
It’s recommended to have original termsrv.dll file with the RDP Wrapper installation. If you have modified it before with other patchers, it may become unstable and crash in any moment.
- Source code is available, so you can build it on your own
- RDP Wrapper does not patch termsrv.dll, it loads termsrv with different parameters
- RDPWInst and RDPChecker can be redistributed without development folder and batch files
- RDPWInst can be used for unattended installation / deployment
- Windows 2000, XP and Server 2003 will not be supported
- RDP host server on any Windows edition beginning from Vista
- Console and remote sessions at the same time
- Using the same user simultaneously for local and remote logon (see configuration app)
- Up to 15 concurrent sessions (the actual limitation depends on your hardware and OS version)
- Console and RDP session shadowing (using Task Manager in Windows 7 and lower, and Remote Desktop Connection in Windows 8 and higher)
- Full multi-monitor support for RDP host
- . and if you find a new feature not listed here, tell us 😉
Porting to other platforms:
- ARM for Windows RT (see links below)
- IA-64 for Itanium-based Windows Server? Well, I have no idea 🙂
Building the binaries:
- x86 Delphi version can be built with Embarcadero RAD Studio 2010
- x86/x64 C++ version can be built with Microsoft Visual Studio 2013
- Official GitHub repository:
https://github.com/stascorp/rdpwrap/ - Official Telegram chat:
https://t.me/rdpwrap - Active discussion in the comments here:
Enable remote desktop on Windows 8 core / basic — Andrew Block .net - MDL Projects and Applications thread here:
RDP Wrapper Library (works with Windows 8.1 Basic) - Some ideas about porting to ARM for Windows RT (post #23):
[Q] Mod Windows RT to enable Remote Desktop - Adding «Remote Desktop Users» group:
http://superuser.com/questions/680572/
- Updating RDP Wrapper INI file manually (now use installer to update INI file)
- How to find offsets for new termsrv.dll versions
Files in release package:
File name | Description |
---|---|
RDPWInst.exe | RDP Wrapper Library installer/uninstaller |
RDPCheck.exe | Local RDP Checker (you can check the RDP is working) |
RDPConf.exe | RDP Wrapper Configuration |
install.bat | Quick install batch file |
uninstall.bat | Quick uninstall batch file |
update.bat | Quick update batch file |
Frequently Asked Questions
Where can I download the installer or binaries?
Is it legal to use this application?
There is no definitive answer, see this discussion.
The installer tries to access the Internet, is it normal behaviour?
Yes, it works in online mode by default. You may disable it by removing -o flag in the install.bat file.
Online install mode introduced in version 1.6.1. When you installing RDP Wrapper first time using this mode, it will download latest INI file from GitHub. See this discussion.
What is INI file and why we need it?
INI file was introduced in version 1.5. It stores system configuration for RDP Wrapper — general wrapping settings, binary patch codes, and per build specific data. When new termsrv.dll build comes out, developer adds support for it by updating INI file in repository.
Config Tool reports version 1.5, but I installed higher version. What’s the matter?
Beginning with version 1.5 the rdpwrap.dll is not updated anymore, since all settings are stored in INI file. Deal with it.
Config Tool shows [not supported] and RDP doesn’t work. What can I do?
Make sure you’re connected to the Internet and run update.bat .
Update doesn’t help, it still shows [not supported] .
Visit issues section, and check whether your termsrv.dll build is listed here. If you can’t find such issue, create a new — specify your build version for adding to support.
Why RDPCheck doesn’t allow to change resolution and other settings?
Исправляем недостатки 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-файлы для удобства установки\удаления программы.
Для установки программы надо открыть командную строку с правами администратора, перейти в директорию с распакованными файлами и запустить 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
В конце файла обязательно пустая строка.