How to Allow Multiple RDP Sessions in Windows 10?


Remote users can connect to their Windows 10 computers through the Remote Desktop Services (RDP) running on the Pro and Enterprise editions (but not on Home/Single Language). But there is a restriction on the number of simultaneous RDP sessions only one remote user can work at a time. If you try to open a second RDP session, a warning appears asking you to disconnect the first user session.

Let’s consider the main restrictions of the Remote Desktop Service usage on Windows 10 (and all previous desktop Windows versions):

  1. RDP access feature supported only in higher Windows editions (Professional and Enterprise). In Windows 10 Home editions, the incoming remote desktop connections are forbidden at all (you can solve this only using the RDP Wrapper Library).
  2. Only one simultaneous RDP connection is supported. When you try to open a second RDP session, the user is prompted to close the existing connection.
  3. If there is a user who works on the console of the computer (locally), then when you try to create a new remote RDP connection, the console session will be terminated. A remote RDP session will be also forcibly terminated if the user will try to log locally.

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

Actually, the number of simultaneous RDP connections is limited rather by the license (then by any technical aspect). Therefore, this restriction does not allow to create a terminal RDP server based on the workstation that can be used by multiple users. Microsoft’s logic is simple: if you need a Remote Desktop server buy a Windows Server license, RDS CALs, install and configure the Remote Desktop Session Host (RDSH) role.

From a technical point of view, any Windows version with a sufficient amount of RAM can support simultaneous operation of several dozens of remote users. On average, 150-200 MB of memory is required for one user session, without taking into account the launched apps. Those, the maximum number of simultaneous RDP sessions in theory is limited only by computer resources.

Let’s consider two ways on how to allow simultaneous RDP connections on Windows 10: using the RDP Wrapper application and by editing the termsrv.dll file.

As a result, you have to edit this file using Hex editor each time, which is quite tedious. Therefore, you can use the RDP Wrapper Library tool as the main way to deploy a free RDS server on Windows 10.

RDP Wrapper: Enable Multiple RDP Sessions on Windows 10

The RDP Wrapper Library project allows you to support multiple RDP sessions on Windows 10 without replacing the termsrv.dll file. This software serves as a layer between SCM (Service Control Manager) and the Remote Desktop Services. RDPWrap allows you to enable not only support for multiple simultaneous RDP connections, but also to enable the support of RDP Host on Windows 10 Home editions. RDP Wrapper does not make any changes to the termsrv.dll file, it’s just loading termsrv library with the changed parameters.

Thus, the RDPWrap will work even in case of termsrv.dll file update. It allows not to be afraid of Windows updates.

You can download RDP Wrapper from the GitHub repository: (the latest available version of RDP Wrapper Library v1.6.2). Based on the information on the developer page, all versions of Windows are supported. Windows 10 is supported up to the 1809 build (although , everything also works fine in Windows 110 1909, see the solution below).

The archive contains some files:

  • RDPWinst.exe — an RDP Wrapper Library install/uninstall program;
  • RDPConf.exe — an RDP Wrapper configuration utility;
  • RDPCheck.exe — Local RDP Checker — an RDP check utility;
  • install.bat, uninstall.bat, update.bat — batch files for installation, uninstallation and update of RDP Wrapper.

RDPWrap-v1.6.2 install files

To install the RDPWrap, run the install.bat with the Administrator privileges. During the installation process, the utility accessing the GitHub site for the latest version of the ini file. To undo this, remove the -o flag in the install.bat file. The program will be installed in the C:\Program Files\RDP Wrapper directory.

installing install RDP Wrapper Library in windows 10

When the installation is over, run the RDPConfig.exe. Make sure that all elements on the Diagnostics section are green.

rdpwrapper supports windows 10 1909

Run the RDPCheck.exe and try to open a second RDP session (or connect several RDP sessions from remote computers). It worked out well! Now your Windows 10 allows two (and more) users to use different RDP sessions simultaneously.

multiple RDP sessions on Windows 10

The RDPWrap utility supports all Windows editions: Windows 7, Windows 8.1, and Windows 10. Thus, you can build your own terminal (RDS) server on any desktop instance of Windows.

Also interesting features of the RDP Wrapper are:

  • The option Hide users on logon screen allows you to hide the list of users from the Windows Logon Screen;
  • If you disable the Single session per user option, multiple simultaneous RDP sessions will be allowed under the same user account (the registry parameter fSingleSessionPerUser = 0 is set under the key HKLM\SYSTEM\ CurrentControlSet\Control\Terminal Server\fSingleSessionPerUser);
  • RDP Port — you can change the Remote Desktop port number from 3389 to any other;
  • In the Session Shadowing Mode section you can change the remote control (shadow) connection permissions to the Windows 10 RDP sessions.

RDP Wrapper not Working on Windows 10

Let’s consider what to do if you cannot use several RDP connections in Windows 10 even with the installed RDP Wrapper tool.

In my case, since there is no direct Internet access on the computer, the RDPWrap could not get the new version of the rdpwrap.ini file from GitHub with the settings for the latest Windows versions. Therefore, the RDConfig utility showed the status [not supported] .

Download the rdpwrap.ini file from the developer’s page and place it in the installation folder (C:\Program Files\RDP Wrapper\rdpwrap.ini). Restart the TermService and make sure that the state [not supported] is changed to [fully supported].

RDP Wrapper Configuration Utility listener state - not supported

If the RDP Wrapper utility doesn’t work properly after updating the rdpwrap.ini file, the problem can occur because of a new build of Windows 10 you are using. Try to download the new rdpwrap.ini for your Windows 10 version build from here

Also, if you have problems with RDPWrap, you can open the issue at Here you can find the actual rdpwrap.ini file before updating it in the official repository.

To replace the rdpwrap.ini file:

  1. Stop the termservice: get-service termservice | stop-service
  2. Replace the rdpwrap.ini file in the directory C:\Program Files\RDP Wrapper\;
  3. Restart your computer;
  4. Run the RDPConf.exe and make sure all statuses turn green.

manually update rdpwrap.ini file

If after installing security updates or upgrading the Windows 10 build, RDP Wrapper does not work correctly, check if the “Listener state: Not listening ” is displayed in the Diagnostics section.

rdp wrapper not listening

Try to update the C:\Program Files\RDP Wrapper\rdpwrap.ini file using the update.bat script (or manually) and reinstall the service:

rdpwinst.exe -u
rdpwinst.exe -i

It happens that when you try to establish a second RDP connection under a different user account, you see a warning:

Windows 10 RDP warning:The number of connections to this computer is limited and all connections are in use right now

In this case, you can use the Local Group Policy Editor (gpedit.msc) to enable the policy “Limit number of connections” under Computer Configuration — Administrative Templates — Windows Components — Remote Desktop Services — Remote Desktop Session Host — Connections section. Change its value to 999999.

group policy: Limit the number of rdp connections

Restart your computer to apply new policy settings.

Modifying Termsrv.dll File to Allow Multiple RDP Session

To remove the restriction on the number of concurrent RDP user connections in Windows 10 without using rdpwraper, you can replace the original termsrv.dll file. This is the library file used by the Remote Desktop Service. The file is located in C:\Windows\System32 directory.

Before you edit or replace the termsrv.dll file, it is advisable to create its backup copy. If necessary, this will help you to return to the original file version:

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

backup original termsrv.dll

Before you edit the termsrv.dll file, you have to become its owner and give the Administrators group the full permissions to it. The easiest way to do this is from the command prompt. To change the file owner from TrustedInstaller to a local administrators group use the command:

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

Now grant the local administrators group Full Control permission on the termsrv.dll file:

icacls c:\Windows\System32\termsrv.dll /grant Administrators:F

termsrv.dll takeown and grant access permissions

After that, stop the Remote Desktop service (TermService) from the services.msc console or from the command prompt:

Net stop TermService

Stop TermService

Before moving on, you need to get your version (build number) of Windows 10. Open the PowerShell console and run the command:

Get-ComputerInfo | select WindowsProductName, WindowsVersion

Then open the termsrv.dll file using any HEX editor (for example, Tiny Hexer). Depending on your Windows 10 build, you need to find and replace the code according to the table below:

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

For example, for Windows 10 x64 RTM (10240) with the termsrv.dll file version 10.0.10240.16384, you need to find the line:

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

and replace it with:

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

Tiny Hexer Editor

Save the file and run the TermService.

Already patched termsrv.dll file for Windows 10 Pro x64 can be downloaded here:

If something went wrong and you experience some problems with the Remote Desktop service, stop the service and replace the modified termsrv.dll file with the original version:

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

The advantage of the method of enabling multiple RDP sessions in Windows 10 by replacing the termsrv.dll file is that antiviruses do not respond on it (unlike the RDPWrap, which is detected by many antiviruses as a Malware/HackTool/Trojan).

The main drawback is that you will have to manually edit the termsrv.dll file each time you upgrade the Windows 10 build (or when updating the version of the termsrv.dll file during the installation of monthly cumulative updates).

DNS Resolution via VPN Not Working on Windows 10
VMWare vSphere: Managing Password Expiration Settings

Related Reading

Find the Current User Logged on a Remote.

Storing BitLocker Recovery Keys in Active Directory

How to Restore Default Fonts in Windows 10.

Internet Connection Sharing (ICS) Stops Working After Reboot.

Fix: Windows Cannot Connect to the Shared Printer


This isnt working

The listening state is not working

Run the update.bat with administrator privileges

Hi Ben
I tried after update.bat file and still its not supporting for Listening.

On GitHub there is no archive with .exe’s anymore, only source code. Anyone have the already compiled version?

I cant find it either any help would be appreciate email to

Apparently, the link in the article leads to an old or somewhat different fork of the project which contains only source codes.
The .exe’s are in the Release section over here:

Hi I am also getting same problem like Listener state [not supported ] and I have ran the update.bat file then I am getting error as Failed to Download latest INI from GitHub.

A mi me ha funcionado correctamente tras ejecutar el archivo .bat. Comprabado en un Windows 10 Pro 64bits

Perdón me refería al ejecutar el ACTUALIZADOR.BAT

Thanks. The link to rdpwrap is stale and it’s confusing because there are downloads available but none of them contain binaries. The link should be

I’m running Windows 10 Home and installed RDP Wrapper from the following binary listed above: “”
A fix for the listener state when running RDPConf.exe or if you get a error in Update.bat about a serive not starting is to enable “Routing and Remote Access” in services.
Change it from disabled to automatic, then right click the service and start it. This worked for me I hope it helps.

I found a site with the zip file containing the wininst.exe file.
I installed RDP Wrap and ran the Config. Everything was Green.
However, when I try to run a second user remotely, it removes the first user.
Everything looks good. On the host pc I am allowing all connections.
Any help would be appreciated.

If a User is connected through RDP to Windows 10 via USER1, How to prevent other users from other PCs to connect remotely to the same PC with Widows 10 using USER1.
In Other Words if there is a live RDP connection, I want to prevent other users to connect remotely at the same time forcing the live connection to break?

You can’t prevent such behavior.
Perhaps it will be easier to create a separate account for each remote user or allow multiple Remote Desktop sessions per user (registry key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer-> fSingleSessionPerUser = 0 )

You would prevent them from doing so with a password.

If you only want a connection from a specific computer, set up firewall rules for port 3389 to only allow a certain mac address in

By default each user is restricted to a single Remote Desktop session. You can allow multiple Remote Desktop sessions per user by changing a registry key:
Create (or edit) the follwoing registry key:
Create a new DWORD value with name fSingleSessionPerUser
The possible values for this setting :
0×0 Allow multiple sessions per user
0×1 Force each user to a single session

fSingleSessionPerUser only works for Windows Server versions.

termsrv.dll version 10.0.10586.0 is not supported in version 1.6 (output from RDPWInst.exe):
[*] Installing…
[*] Terminal Services version: 10.0.10586.0
[-] This version of Terminal Services is not supported.
Send your termsrv.dll to project developer for support.

Now, our Windows 10 allows two users to start RDP sessions simultaneously…
Not interested in only two, how about 10 or so?

Did you ever find out if this is possible? I have a client that wants to do this for about 20 users.

Windows 10 Anniversary Update change code anyone now fix ?

new version

Since build 14393 is rumored to be the RTM Anniversary Update, here is the hex required to allow multiple RDP sessions on the 64 bit version of this build:
39 81 3C 06 00 00 0F 84 D3 DE 02 00
B8 00 01 00 00 89 81 38 06 00 00 90

I’ve patched the Anniversary Update (version 1607 / build 14393):

From today i recive not spported on Win 10,mybe after some win update….Any solution??

Hi. I am also getting same problem on Windows 10 Pro 32 Bits.
Stop working. Any Help?

After installing latest updates on Windows, RDP Wrapper Library has stopped normal functioning
To fix this issue, try to run update.bat from release package

Hi. Is is possible, that RDP Wrapper still does not work?

You have tried to update using a update.bat file ?

Hi, yes I have. After deinstalling and installing again the first log-in works sometimes, but then RDP only says “connecting…” for a few seconds and just stops without doing anything. The problem started after Windows 10 updated to 1607 (Build a couple of days ago.

Try to install RDP Wrapper Library v1.6.1 (_ According to the developers, support of Windovs 10.0.14931.1000 and 10.0.14936.1000 was added to the ini file (_

Hi, thanks for the replay. Sadly I am using 1.6.1, it is not working. Only optionI found so far is uninstalling, setting windows settings back to allowing RDP (after every uninstall it is set to no) and reinstalling. Then I have about 30 seconds to one minute to log every external user into windows.
I will try uninstalling the windows update, maybe that will help until windows forces the update back in.

I am back to 1511, that works without a problem.

Obrigado, me ajudou muito…

have you logined 50 users at the same time?I can only login 28 users.Is there any limit by Windows 10?

Thanks . It is working . I use RDP Wrapper library

Thanks for this article! Works perfectly. This, in combination with Hamachi (paid version so the service stays alive after logout), is a great!

what is the maximum number of concurrent logged in users that it will support?

Is it possible to have 1 local user (physically at the PC) and 1 remote simultaneously)? I’m on Windows 10 Pro.

Is it possible to use a computer with rdpwrapper local and with one or two remote connections?

How to configure?

If I am logged-in locally on my computer and work and a remote connection tries to get in then my local account must be closed otherwise the remote connecrion can be placed.
Is that normal??
Can I not use the computer local and remote (with another user account? of course) at the same time?

Hi, thanks for the tutoring. Is there any way to have sound on the client pc? Thank you!

Open connection options in mstsc.exe and go to the tab Local Resources. Find Remote audio section and press Settings button. Select the option Remote audio playback -> Play on this computer.

It’s working perfectly 🙂

today my windows 10 machine rebooted and it stopped working. maby there is a new update or something? Anyone having the same issue?

I have the same problem. Last update W10 and this stop working.

windows 10 build 16299 ran the program , works in the config and testmode ! but i get remote desktop error in that it says remote desktop isnt working . for one of 3 reasons , 1, 2, 3, typical windows error message, is this still working or have i totally stuffed the remote desktop now ? please help asap

It stop working after last update 1803 🙁

I will answer myself, if you overwrite termsrv.dll from older version 10.0.16299.15 for example you will be able to install correctly and works correctly with last version 1803

Windows 10 April 2018 Update 17134 RTM x64 build
Find: 8B 99 3C 06 00 00 8B B9 38 06 00 00
Replace With: B8 00 01 00 00 89 81 38 06 00 00 90

I cant do the hex editing, because the hex editor is not willing to open the dll. I did the ownership change on the dll, I gave full access to it, but still no luck. I used RDP Wrapper earlier, but it doesnt support build 17134. Can somebody upload please the updated ini for RDP wrapper OR the patched dll (for build 17134)?

Replace the file in the :\Windows\system32\termsrv.dll directory with the old version of C:\Windows.old\system32\termsrv.dll, and restart the computer. After that, rdp wrapper starts working again! Tested on Windows 10 1803 Spring Update!

Avira says this is malware. Chrome says it’s dangerous. Comments about that?

Microsoft has the power to have any software that mods Windows listed as “malware” to scare people away from using it.

My current version of termsrv.dll is 17741 and my prior version is 17738. I notice that the size of termsrv has changed dramatically from 339k to 992k. Both of these releases also control an additional service called Remote Desktop Services UserMode Port Redirector, I don’t know if the older versions controlled that service or not. Bottom line, I can’t modify termsrv because the hex string to search for is no longer in the module, rdpwrapper does not work with the updated termsrv. I downloaded the patched version of termsrv.dll but haven’t tried using it yet. that will be my next adventure. Somehow I think it may not work only because it appears the code has been redesigned to function differently than was originally designed. However, I’m going to give it a try.

Tried the downloaded version of termsrv, it just crashed when starting. put 17741 back in place. Anyone have any ideas here?

Just realized, my email address is wrong, s/b gpkerr not gkerr

– Windows 10 April 2018 Update 17134.254 RTM x64 build

– Find: 8B 99 3C 06 00 00 8B B9 38 06 00 00
– Replace With: B8 00 01 00 00 89 81 38 06 00 00 90

Can’t have more than 1 user in RDP at a time … any solution to this ?

THanks for your help

this worked for me

Thank you VERY much for the information. I managed to get it working with the RDP Wrapper Library. I tried to edit the DLL but it was impossible to find the reference to 39 81 3C 06 00 00 0F 84 73 42 02 00

while downloading, my anti-virus programs is saying the file contains a virus or malware.
Has anyone else seen this? I’m using firefox also.

Windows 10 October 2018 Update 17763.1 x64 build, tested today and working OK:

Search: 39 81 3C 06 00 00 0F 84 7F 2C 01 00
Replace: B8 00 01 00 00 89 81 38 06 00 00 90

Thank you very much

Ok, i figured that this doesnt work very well. So i clicked on uninstall.bat. Now i cannot contact my server anymore. Not via Putty, RDP… help?

Very funny, It looks like no one is using antivirus here…
The file RDPConf.exe contains a virus that gives access to external people to your PC (RemAdmin)

The point of the software is to modify Windows to allow multiple remote connections. It’s expected behaviour to have antivirus software flag it as a risk that allows remote connections.

I also installed
windows enterprise 1809 evaluation 90 days applied patch. It was working perfectly.
It was working as single user with many multisession at a time, (multi login single user RDP as it is normal with windows server 2016/2008)
It was also working as different terminal services users with multisession to a single machine.
I see there updates on machine were installed and then single user with multiple session is no longer working. I don’t cause the issue. Update KB4487044 / KB4470755 / KB4483452 installed on 13-Feb-2019.
Later i uninstalled those two KB but still the multi login/ simultaneously single user with terminal services for different sessions didn’t worked. (the kb4470788 was not removable)
I used two things to make it happened
1.) HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server fSingleSessionPerUser key Change the key value from 1 to 0
2.) 1.52MB
Can some one assist to make again windows 10 pro or entp 1809 multi-logging same user with differnt concurrent sessions to single host locally or remotely as I done previously so that I get updates as well.

On Win 10 Pro i had to set via gpeditor
Computer Configuration Administrative Templates Windows Components Remote Desktop Services Remote Desktop Session Host Connections.

From here, first set the Restrict Remote Desktop Services user to a single Remote Desktop Services session parameter to Disabled.

Next, double-click on Limit number of connections and then set the RD Maximum Connections allowed to 999999.

I have Win Pro and I have only 1 option there “Set rules for remote….”
Computer Configuration Administrative Templates Windows Components Remote Desktop Services Remote Desktop Session Host Connections.

getting the following error: another user is signed in if you continue, they’ll be disconnected do you want to sign in anyway

I have two Windows 10 Pro x64 systems that no longer allow multiple users at the same time.

Thank you so much, i found this and solve all of my problems 👌

Ver service ver. 10.0.17763.292 is showing not supported no matter what I try. This will not allow multiple people to use the machine. I continue to get “another user is signed in if you continue, they’ll be disconnected do you want to sign in anyway”.
What am I missing here? The updated .ini is there. Everything appears to be correct but it will not work.

Use an updated INI file that supports 1809 and it will work as expected… read the thread here for details:

Suddenly a restrictionon 2 rdp sessions appeared in Windows 7.
When reinstalling rdpwrapper:
[!] This version of Terminal Services is supported partially.
It means you may have some limitations such as only 2 concurrent sessions.
Try running “update.bat” or “RDPWInst -w” to download latest INI file.
If it doesn’t help, send your termsrv.dll to project developer for support.
After removing KB4489878 everything is OK.

The rdpwrapper stopped working in my Windows 10.0.17134.706 (windows 10 1803 x 64) after installing new updates on April 11, 2019.
I upgraded my Windows 10 to 1809 (the file was updated to 10.0.17763.437), then I edited the rdpwrap.ini file and add the following section:
bInitialized.x86 =CD798
bServerSku.x86 =CD79C
lMaxUserSessions.x86 =CD7A0
bAppServerAllowed.x86 =CD7A8
bMultimonAllowed.x86 =CD7B0
bFUSEnabled.x86 =CD7B8
bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bMultimonAllowed.x64 =ECAC8
bFUSEnabled.x64 =ECAD0


bInitialized.x64 =ECAB0
bServerSku.x64 =ECAB4
lMaxUserSessions.x64 =ECAB8
bAppServerAllowed.x64 =ECAC0
bMultimonAllowed.x64 =ECAC8
bFUSEnabled.x64 =ECAD0

Or you can download the rdpwrapper with the integrate patch. Follow the link

Thanks, I’m going to give that a shot on my machine that updated to 1809.

Hello folks
File version: 10.0.17763.437
search: 39 81 3C 06 00 00 0F 84 3B 2B 01 00
replace with: B8 00 01 00 00 89 81 38 06 00 00 90

to replace the existing one, I had to first stop the Remote Desktop Services windows service.
(which will also stop another service: Remote Desktop Services UserMode Port Redirector)

The file is now editable/replaceable.
Then replace C:\Program Files\RDP Wrapper\rdpwrap.ini (in my case I just copy paste the extra section but I needed to run my text editor in Administrator privilege mode)
restart the 2 windows service (also make sure they are in automatic start mode)

And bingo, I now see [fully supported]

Wow! Its working.. Thanks for the info i have been searched a solution for hours.

contrary to what I’ve read, there is no need to restart the computer, start and stop the Remote Desktop Services is enough
(running windows 10 pro N 64 bits 10.0.17763.437)

Johnny done what you said but still can’t get it to work 🙁 any ideas anyone

Johnny needed reboot and it’s working fine thank you

Just tested on Windows 10 x64 1809. I chose to restart the PC tho. Concurrent Remote Desktop sessions is functional.

What I did: installed RDPWrap 2.6.2.
That’s all.

RDPWRAPPER works fine for me on 1809 but I noticed that the printer redirection has stopped working, anyone else have this problem

Hi. Is the Wrapper use illegal?

Remote access. No more than once every 90 days, you may designate a single user who physically uses the licensed device as the licensed user. The licensed user may access the licensed device from another device using remote access technologies. Other users, at different times, may access the licensed device from another device using remote access technologies, but only on devices separately licensed to run the same or higher edition of this software.

Yes, this is violation of the Microsoft licensing agreement.

By mistake I click on rdpcheck file and now my system not login after the restart.
It showing username and password and after putting the credentials, login error.

I think you need to reset the local administrator password using a boot, rescue or install disk.

we did a security update on windows 10 Pro, today 7/24/19, and after it we can connect only one RDP at a time. So we changed the termsrv.dll, did all as instructed, and now we can’t connect even one RDP, we get Access Denied error. Any suggestions how we may solve this?

also worth to note that I disconnected the windows auto-updater, and for some reason it still told one of the users (administrators) that there is an update that has to be made.

Cannot get concurrent session to work on Win 10 Pro version 1903 OS build 18362.356. All green in RDPConf, except still shows “not supported”. Followed all possible instructions in correct order including replacing INI file and restarting appropriate services and/or restarting computer nothing works. All was good 1 week ago. Any ideas? Will appreciate any suggestions, impacting my work big time.

If you updated to version 1903 less than 10 days ago you can go to settins updates recovery and use the go back to the previous version of Windows 10 option. Version 1903 was recently released and not sure if there is a fix for it yet.

edit termsvr.dll for win ver 18362.267 1903

39 81 3C 06 00 00 0F 84 5D 61 01 00
B8 00 01 00 00 89 81 38 06 00 00 90


Thank you Rob. I actually when back to previous build and it worked. I also found updated INI here that supposed to work for newest build.

Thanks, Rob. That worked for me on 1903.

Does this permit the console session at the same time as the RDP session?

Windows 10×32 vercion 1903
os-build: 18362.356
All green in RDPConf, except still shows “not supported”.

help for windows 10 November 2019 (1909)

Any update for 18363.476?

1909 win 10 pro x64 Works for me, same ROB solution for 1903:
September 21, 2019 9:03 pm
edit termsvr.dll for win ver 18362.267 1903
39 81 3C 06 00 00 0F 84 5D 61 01 00
B8 00 01 00 00 89 81 38 06 00 00 90

Hi there, it worked for me aswell (after a few hours digging).
1903 Win 10 Pro with Rob’s solution. (Thanks Rob from Robb)
I previously installed RDP Wrapper and got all green but didn’t work till I did the termsvr.dll change, so I’m not sure what is really doing the trick LOL.

Hi, I’m having one issue with this, one remote connection get suddenly close and I have to connect again, it doesn’t show me any error or something, it just close the session, any idea why this Is happening?

Hi there, maybe somebody has logged in. Have you checked that more than one session are allowed?

Great and detailed instructions, obviously written by a real pro. However…

1. The RDP Wrapper software gets marked as malware, both by Malwarebytes and Trend Micro antivirus apps. In comes up relatively clean on the VirusTotal site, but I didn’t dare ignore my antivirus app warnings and opted instead for editing the termsvr.dll file as per instructions. The result works fine, but the instructions about editing it appear to be missing a small but crucial item…

2. The Tiny Hexer editor app refused to edit termsvr.dll while in was inside the system32 folder and gave an error message. I intuitively copied it out to another, non-system folder and the edit went fine. I then copied the edited file back into the system32 folder and all was well.

Please keep up the great work and add updates as regards the edits required to termsvr.dll in future updates of W10.

Yep a few people are saying RDP Wrapper is infected. Is there any other software?

You can use the modified termsrv.dll file instead of RDP Wrapper.

Still get ‘listener not supported’ on Windows 10 Home v1909 with RDP Wrapper v1.6.2, latest version of rdpwrap.ini and patching termsrv.dll as described by Rob and the hex editing table you had provided. I also tried enabling Routing and Remote Access in services. I had run update.bat and even tried the RDPWinst commands with no success. I guess there’s no way to get RDP to work with Windows 10 Home.

With Windows 10 x64 1909, the listening state is no supported, even with the latest ini file

Hei is there somewhere info about rdp patch 20h2 (19041) insider? The patchted rdp file from 1903 do not work.

I just moded my termsrv.dll and it worked, 2 users at the same time. Was a pain with the admin rights for system 32 folder but got there in the end. Excellent work and thank you

For Version 10.0.18362.657

Do the following 3 replacements

Find Hex
Replace with

Find Hex
Replace With

Find Hex
Replace With

It worked for me by modified termsrv.dll. Thank you.

So I think I’d like to use the code modification method changing the termsrv.dll file and Not use RDP Wrapper. It sounds straightforward. I don’t want to install software that might set off virus warning bells. And all I really care about is being able to allow a 2nd user (RDP or local) without bumping an existing user (RDP or local) off.

However, it seems RDP Wrapper tool provides for numerous parameters:
specifying a different RDP port
type of Authentication Mode
type of Session Shadowing Mode

Does anybody know What the termsrv.dll code changes above actually does ?
What settings/configuration is being setup ?
For instance, I specifically do Not want to use the default port (3389). But does the termsrv.dll code changes above allow for a port other than 3389 ?

Thanks, appreciate any helpful responses/comments.

fyi I already have my RDP setup with a different port #

You can change the RDP listening port number on your computer in accordance with the article

Thanks for the response, but I already have my RDP connection setup with a different port #. The gist of my question is, what does the code change method actually do ?? For example, one of my concerns is, if I change the termsrv.dll file…. does that code (those parameters) override my port # setup…. and ‘that’ code relies on using the default of 3389 ? How about Authentication Mode or Session Shadowing Mode, etc.

I tried using RDP wraper but I could not fix the error not supported.
Then I tried editing termsrv.dll and it worked great. Thank you So much

hi Bharath, how did you edit termsrv.dll and what to edit in the file? need help, tnx

tengo la versio win 10 pro 1903 pero no me funciona
Microsoft Windows [Versión 10.0.18362.30]

hello i have 1809 17763.1158 can you halp me \?cannot download rdpwrap from sourse , i tryed to update termsrv but it dont works

On Windows 10 x64 2004 you should replcace 39 81 3C 06 00 00 0F 84 D9 51 01 00 на B8 00 01 00 00 89 81 38 06 00 00 90 in the termsrv.dll file.

Hello KROX I tested it on x64 2004 but after that, the service did not start, I made 2 restarts what could be wrong? thanks

Thanks KROX,
It worked for me. Awesome!

worked for me as well.

I see this topic a lot. Why doesn’t MS create a multi-user desktop OS and just charge more for it to account for the multiple users? I think a lot of people would go for it for the convenience. I know I would.

Latest Windows 10 version Build 19041 (either came out in May or June 2020) updates termsrv.dll, can no longer find the binary code.

Patch for termsrv.dll [10.0.19041.84] Windows Professional (x64) version 2004 (OS build 19041.264)
007444833D46BA 00EB44833D46BA
C706010000008BDF C706000000008BDF
39813C0600000F84D9510100 B80001000089813806000090​

I have OS build 19041.329. I replaced the first string, but could not find the other two strings. It did not work, I get bumped by a new remote user. Thank you.

GREG, try to to search from the beginning again.

Must the second and third strings be found and replaced before this will work? In the past there was only one string that had to be replaced, and then it worked.

Did not see your answer, sorry. That was my problem. Thank you!

Works great, thank you! I actually have Server 2016, but do not want to install it just to allow one other person to share my computer.

Glad it works. Another drawback for using server OS is its incompatible with many applications.

39 81 3C 06 00 00 0F 84 D9 51 01 00
replaced with
B8 00 01 00 00 89 81 38 06 00 00 90

Different version of 1909:
Search for 39 81 3C 06 00 00 0F 84 5D 61 01 00
replace with:
B8 00 01 00 00 89 81 38 06 00 00 90

NOT ALL 1909 versions are the same. My build is: Version 10.0.18363.836

I also edited the INI file in Program Files\RDP Wrapper to include that version at the end. Just copied the latest 10.0.1836* version groups and added the current version.

Just a heads up everyone: In THIS instance, RDPCheck.exe still told me “Not Supported” but it DOES work.

Curious whether the same revision to the wrapper could be done for 18363.997?

Could someone share the information How to extract the code on our own on every windows update version?

Win10 build 1904: i write the termsrv.dll and worked. but the string wan’t exactly match. it was 39 81 3C 06 00 00 0F 84 xx xx xx xx that i replaced with B8 00 01 00 00 89 81 38 06 00 00 90.

Thank you! I done option 1

What is the hex code on Windows 10 20h2? Does this method work on Enterprise Image?

i was upgrade windows 10 home to pro, and i installed rdp wrap.
its say ok. listening and fully supported, but i still cant using remote desktop with multiple sesion.

HI. need the rdp edit for window 10 version 2004 which they keep updating.
i edited termsrv.dll and rebooted .. service started ok.. but no mulitiple logins.
so msn has done some thing else or the hex edis for version 1909 does not work on 2004.
i have not tried rdp wrapper becuse it wont down load under virus protection. i may
turn that off and down load.

I tried to install this and now I can’t resolve any DNS. Pinging IP’s works, but not names. This looks like a virus to me.

Everyone, Thanks to the great work by the author and everyone who has posted to assist everyone. I have the new version 2004 and have used tiny Hexer, just as the author says and got everything working fine. Here is the needed data for the new version and how I found the area to make the change. Using Tiny Hexor I used a backup to mod first (follow the directions on ownership and icals and making backup) Use tiny hexer to find
Windows 10 x64 2004 39 81 3C 06 00 00 0F 84 D9 51 01 00
Replace with B8 00 01 00 00 89 81 38 06 00 00 90
In the future search for just 39 81 3C 06 00 00 as that never appears to change and replace the full hex (12 pairs starting with 39 81 3C 06 00 00 ) and replace with B8 00 01 00 00 89 81 38 06 00 00 90
Hopes this helps everyone and stay safe and healthy.

Thank you very much

Regards, sorry me for my bad english.
I used your procedure using the
It works but if I try to log in from another PC, in the same account I log off the account of the PC I connect to.
How can I solve?
Thank you.

Regards, sorry me for my bad english.
I used your procedure using the
It works but if I try to log in from another PC, in the same account I log off the account of the PC I connect to.
How can I solve?
Thank you.

Use the latest version which is 1.6.2 ( Follow the procedure on that page and then download the update for the .ini file for the latest version of Windows on this page:
Again read and follow the procedures.
I did everything they say and it is working for Windoes Version 10.0.19041.84

Thanks man this works Great for Window 10 Pro Build 1903 but can you help for Window 10 Pro Build 2009 which code i need to change.

Read Kubat mes … In the future search for just 39 81 3C 06 00 00 as that never appears to change and replace the full hex (12 pairs starting with 39 81 3C 06 00 00 ) and replace with B8 00 01 00 00 89 81 38 06 00 00 90

I have Windows 10 Version 1909 (OS Build 18363.1256). Using TinyHexer and HxD, I am having trouble finding 39 81 3C 06 00 00 0F 84 5D 61 01 00 to replace with B8 00 01 00 00 89 81 38 06 00 00 90. When I do a find for the value it states “No Results”. Even if i just search for 39, I get the same results so I know I am doing something wrong. I am not very familiar with Hex Editing software. Can anyone provide more details in how to change the termsvr.dll file with TinyHexer? I have tried using RDP Wrapper and although everything appears as if it should work, I cannot get multiple RDP sessions to work. By the way, EXCELLENTLY written by the Author and great feedback as well!!

Just found windows build 2004 on my machine after auto update. Not finding the code strings in the termsrv.dll anymore. Has the hex editing instruction here no longer effective with this latest build?

Same here! Las windows update has modified termsrv.dll and can’t find the string anymore.
Someone can tell what is the new string to search for ?

i done have a step “group policy”, thanks bro

Microsoft Windows [Version 10.0.19041.746]
For this version what code should be looked up for and replaced with.

Microsoft has been updated very quick recently.
Computer has just updated to latest version windows 10 pro version 2004, OS 19041.264

recheck termsrv.dll
It has been overwrote by the latest update.

It is
39 81 3c 06 00 00 0F 84 D9 51 01 00

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

This solution runs without additional software RDP Wrapper or RD Plus.
It is successful allowed multiple users access at same time simultaneously。

Used this on 20H2 build 19041.746

searched for
39 81 3C 06 00 00 0F 84 01 5E 01 00
replaced with
B8 00 01 00 00 89 81 38 06 00 00 90

Works without RDPWrapper .. of course backup termsrv.dll before editing.

Hmmm, for me didn’t work Win 10 Pro ver. 2004 fileversion 10.0.19041.746 TermService wont start… Any suggestions? Thank You very much.

Seconadry it worked ;o)

I’m on build 20H2 and termsrv 10.0.19041.746
I’m searching for: 39 81 3C 06 00 00 0F 84 01 5E 01 00 and not finding.
Any help?
Thanks in Advance.

Thanks Kalandor that worked for 20H2! FYI can’t use Tiny Hexer to patch termsrv.dll in \windows\system32, even after taking ownership and setting full access (it would never find the file, probably due to inherited permissions). Had to copy termsrv.dll to another directory (i.e Downloads), use Tiny Hexer to patch that file, then copy the file back to \windows\system32

Used this on win10pro 1909 vers 18363.1316
Search at 0x01F270
39 81 3C 06 00 00 0F 84 75 61 01 00
Replace by
B8 00 01 00 00 89 81 38 06 00 00 90

I too had to copy the termsrv.dll to a different directory to edit and then copy back but it Works like a champ thanks All!
Search for:

39 81 3C 06 00 00 0F 84 75 61 01 00
Replace by
B8 00 01 00 00 89 81 38 06 00 00 90

OS Build 19042.746

Worked for me. However, is there a sustainable way to update this string in sebsequent versions? I have 19042.844 today. Thanks

So, Windows just updated this again.
The version of the new termsrv.dll is 10.0.19041.789
I can’t find the above sequence in the file.
Anyone that could shine a light on this would be great!
Thanks you!

Never mind that, it’s the same string as .746. I have looked at it and at first I wasn’t finding that string. I was probably doing something wrong in the search. Tried again after a good night of sleep and, well, it’s working now. Tested!

Agradezco publicaran la linea para Windows 10 Enterprise Compilación 2009

they can leave the line of win 10 Enterprise Compilation 2009

If you’ll need patched termsrv for Windows 10 x64 Build 20H2_v2 look for it in the comments here

Anyone knows how to do it for Windows 10 Pro 1909 Build 18363.1440?? Please help.

I’m trying to set up an AWS Lightsail instance and ran into a surprising trap. This instance is running Windows Server 2019 and the greedy SOB’s only allow 2 simultaneous RDP connections. Purchasing Remote Desktop Services CAL’s is ridiculously expensive at about $100/user. I’m thinking about patching termsrv.dll just like I”ve done successfully on a Windows 10 computer. The problem here, is that you have to be able to connect to the instance other than with RDP. TeamViewer is deliberately blocked by AWS (so they can sell you and expensive integration via their AWS marketplace) only can use it when connected via RDP. SSH doesn’t appear to be possible with a Windows Server instance, only with Linux instances.

If I can get connected to the instance with anything other than RDP, I can attempt the RDP patch.

The DLL mod works great with Windows 10 20H2 / 1909 (Pro x64). Like others above have said, since the search string changes, it is best to search for “39 81 3C 06 00 00” as that part never seems to change. In my case, the whole string I had to find was actually:

39 81 3C 06 00 00 0F 84 01 5E 01 00

A couple other tips:
Make sure you are searching for a hex value, not text-string, integer, etc. In the HxD hex editor, you have to select the data type and text-string is the default.
Make sure you open the hex editor with admin permissions or it won’t allow you to modify the DLL file. Right click the hex editor in the start menu and select “run as administrator”

Nailed it, thanks Jamie

Good morning, i have replace rdpwrap.ini and i have all green in RDPConf.exe
I have modify the Limit number of connections to 999999 and activate function but remote desktop, used in other pc, tell me “log off the current user?” and if i use RDPCheck in win 10 enterprise, used as server, the message is “The number of connections to this computer is limited…”
Do i have to perform other steps? Thank you

LANG=C sed &#8216;s/\x39\x81\x3C\x06\x00\x00[\x00-\xFF]\<6\>/\xB8\x00\x01\x00\x00\x89\x81\x38\x06\x00\x00\x90/&#8217; termsrv.dll termsrv_patched.dll

for termsrv.dll 10.0.19041.964

39 81 3C 06 00 00 0F 84 E1 6A 01 00
B8 00 01 00 00 89 81 38 06 00 00 90

Remember to backup

@KALANDOR (using your format)

For termsrv.dll 10.0.19041.1023
39 81 3C 06 00 00 0F 84 21 68 01 00
B8 00 01 00 00 89 81 38 06 00 00 90
Remember to backup

tanks many @KALANDOR, that&#8217;s work for me, where do you find this . i search untill months :(((
i want a universal patcher for futur release .

Only the last 4 bytes change between updates&#8230; search for the common part 39 81 3C 06 00 00 0F 84 .. then copy it along with the next four bytes and replace with B8 00 01 00 00 89 81 38 06 00 00 90 .. Worked for me for the last 6 updates &#8230;

I&#8217;m on build 20H2 and termsrv 10.0.19041.746 build?
I&#8217;m searching for: 39 81 3C 06 00 00 0F 84 01 5E 01 00 and not finding.
Any help?
Thanks in Advance.

Hi John, a workaround working since a couple of years aften any windows update, is simple to search only for 39 81 3C 06 00 00 0F 84 the next 4 number are the specific jump adress. Only those 4 numbers changes between the updates. e.g. in 20H2 I found 39 81 3C 06 00 00 0F 84 and 21 68 01 00 , therefor replace 39 81 3C 06 00 00 0F 84 21 68 01 00 with B8 00 01 00 00 89 81 38 06 00 00 90 , that is it. Keep in mind, this procedure may be works also after the next &#8220;surprising&#8221; update. Best Regards.

Is it free for multi sessions? Currently I use AweSun Remote Desktop for mutli-concurrent sessions for free. Free and works well.

Giving a backdoor to an unknown company with NO place of address anywhere on their site, with no indication whatsoever of who they are?

They claim all kinds of things on their site (aweray/awesun), but nothing whatsoever is verifiable.

Do you work for them?

Hello, the workaround is not working for me on version 10.0.19041.1081

For new termsrv.dll version 19041.1081
Windows Build 21H2 19042.1083
Windows Build 21h2 19043.1110

Search for:
39 81 3C 06 00 00 0F 84 DB 61 01 00

Replace it with:
B8 00 01 00 00 89 81 38 06 00 00 90

The entire string is 12 pairs.
For a different version, search for the first 8 pairs (39 81 3C 06 00 00 0F 84) and fill in the rest with the last 4 pairs you will find on your version.
Then replace the entire 12 pairs with the string (Replace it with)

The only solution that worked. Thank you all!

The procedure from MANNY works fine after any major update since a couple of years. Search for the 39 81 3C 06 00 00 0F 84 XX XX XX XX and replace it with B8 00 01 00 00 89 81 38 06 00 00 90 . you can use a disassembler like IDA to see what is gone, the ask of termserv to the operating system &#8220;Are multible sessions allowed&#8221; gives with B8 00 01 00 00 89 81 38 06 00 00 90 always the answer Yes :-). During the replacement, the termserv is stopped, but you can use anydesk to connect to the machine remotely as admin. After restarting the termserv by a reboot, everything with RDP is still working.

but we need it for Win 11

Hi all.
Please find below a script that works for all Windows 10 Windows 11 version
Set-ExecutionPolicy Bypass -Scope Process -Force

# All thanks to

# Get status of the two services UmRdpService and TermService.

$svc_UmRdpService_status = (Get-Service UmRdpService).status
$svc_TermService_status = (Get-Service TermService ).status

Write-Host "Status of service UmRdpService: $svc_UmRdpService_status"
Write-Host "Status of service TermService: $svc_TermService_status"

# . before stopping them .

Stop-Service UmRdpService -Force
Stop-Service TermService -Force

# Save ACL and owner of termsrv.dll:

$termsrv_dll_acl = Get-Acl c:\windows\system32\termsrv.dll
$termsrv_dll_owner = $termsrv_dll_acl.owner
Write-Host "Owner of termsrv.dll: $termsrv_dll_owner"

# Create backup of termsrv.dll, just in case:

Copy-Item c:\windows\system32\termsrv.dll c:\windows\system32\termsrv.dll.copy

# Take ownership of the DLL.

takeown /f c:\windows\system32\termsrv.dll
$new_termsrv_dll_owner = (Get-Acl c:\windows\system32\termsrv.dll).owner

# . and grant (/Grant) full control (:F) to myself:

cmd /c "icacls c:\windows\system32\termsrv.dll /Grant $($new_termsrv_dll_owner):F /C"

# Read DLL as byte-array in order to modify the bytes.
# See for some details.
# NEL 2022-10-13 — The "if check" is there to differentiate between PowerShell Core and Powershell Traditional version.

if ($(Get-Content c:\windows\system32\termsrv.dll -Raw -asByteStream).exitcode -eq 0) <
$dll_as_bytes = Get-Content c:\windows\system32\termsrv.dll -Raw -asByteStream
else <
$dll_as_bytes = Get-Content c:\windows\system32\termsrv.dll -Raw -Encoding byte

# Convert the byte array to a string that represents each byte’s value as hexadecimal value, separated by spaces:

$dll_as_text = $dll_as_bytes.forEach(‘ToString’, ‘X2’) -join ‘ ‘

# Search for byte array (which is dependent on the Windows edition) and replace them.
# See
# for details.

# NEL 2022-10-13 — Automating for future version (Working for W11):
$patternsregex = ([regex]’39 81 3C 06 00 00(\s\S\S)<6>’, # W10 > 1809
[regex]’8B 99 3C 06 00 00(\s\S\S)<6>’ #W10 1809

$patch = ‘B8 00 01 00 00 89 81 38 06 00 00 90’

Foreach ($patternregex in $patternsregex) <
If (Select-String -Pattern $patternregex -InputObject $dll_as_text) <
$dll_as_text_replaced = $dll_as_text -replace $patternregex, $patch

Elseif (Select-String -Pattern $patch -InputObject $dll_as_text) <
Write-Output ‘The termsrv.dll file is already patch, exitting’

else < # Opens a url with probably new regex in comments
Write-Output "You need to search the new pattern bytes for the regex, try the last comments in : $(Start-Process"

# Use the replaced string to create a byte array again

[byte[]] $dll_as_bytes_replaced = -split $dll_as_text_replaced -replace ‘^’, ‘0x’

# Create termsrv.dll.patched from byte array:

if ($(Get-Content c:\windows\system32\termsrv.dll -Raw -asByteStream).exitcode -eq 0) <
Set-Content c:\windows\system32\termsrv.dll.patched -asByteStream -Value $dll_as_bytes_replaced
else <
Set-Content c:\windows\system32\termsrv.dll.patched -Encoding Byte -Value $dll_as_bytes_replaced

# Compare patched and original DLL (/b: binary comparison)

fc.exe /b c:\windows\system32\termsrv.dll.patched c:\windows\system32\termsrv.dll

# Expected output something like:
# 0001F215: B8 39
# 0001F216: 00 81
# 0001F217: 01 3C
# 0001F218: 00 06
# 0001F21A: 89 00
# 0001F21B: 81 0F
# 0001F21C: 38 84
# 0001F21D: 06 5D
# 0001F21E: 00 61
# 0001F21F: 00 01
# 0001F220: 90 00