You can only have one simultaneous RDP connection per Windows. The license doesn’t allow you to create multiple terminal RDP servers based on the same workstation. If you need a terminal server for your business, purchase a Windows Server License, RDS CALs and install and configure the Remote Desktop Session Hosting (RDSH).
This article will discuss the best ways to enable multiple remote desktop connections. Below are a few steps that can be taken to activate the RDP multiple user option in Windows 11. Let’s get to it!
Please Note: This article is intended solely to be educational and does not assume any liability for risks or damage that may result from the steps below.
How can you activate multiple remote desktop connections in Windows 11?
Normal conditions will permit you to create only one Remote Desktop Connection (RDP) session on Windows 10 or Windows 11. It is not possible to establish multiple RDP sessions at once on Windows Server OS. Remote Desktop Service use in Windows 10/11 has some restrictions.
- Only connect remotely to Windows Professional or Enterprise editions via RDP. Windows Home and Single Language editions do not support remote desktop connection.
- You can only open one simultaneous RDP connection at once. If you attempt to open a second RDP session you will be asked to terminate the connection.
- Before you can create a remote RDP connection, it is necessary to disconnect the session that you are currently using on your local computer console.
- If you attempt to log in locally, the remote RDP session is forcibly terminated.
A different Windows user may attempt to connect when Remote Desktop Connection has been established. The new user will receive an error message that says:
An additional user has been signed in. Continue and they will be removed. Are you willing to sign up in any other way?
Four Ways to Allow RDP Multiple Sessions
We have listed the four different methods to allow multiple remote desktop connections from Windows 11. Although the initial steps may seem daunting, you’ll soon become comfortable with them. This is how you enable RDP multiple sessions.
1. Use RDP Wrapper Library
GitHub’s open-source project ‘RDP Wrapper library’ allows users to create multiple RDP sessions simultaneously on Windows 10 or 11. You can also use it to build an RDP server for Windows Home editions, without having to modify the file ‘termsrv.dll.’
The ‘RDP Wrapper Library” loads the termsrv.dll library using only modified parameters to allow simultaneous connection. It will still work, even if termsrv.dll is updated by Windows during monthly cumulative updates. Before installing the ‘RDP Wrapper library’, make sure that you have the unpatched original termsrv.dll.
This is how it works:
- Download RDP Wrapper Library.
- Extract the contents from the zip file.
- To install RDPWrap, right-click “install.bat”, and choose “Run as administrator” from the menu.
- To open RDP Wrapper Configuration, double-click the file ‘RDPConfig.exe. This will allow you to verify that everything is working properly. Verify that all green flags have been added to the Diagnostics section.
You will likely notice that RDP wrapper running after installation (Installed. Running. Listening. But not working). Windows 10 might cause a red warning to appear that the RDP wrapper is not supported (ver. 10.0.19041.1320).
- Get the current version of rdpwrap.ini.
- Paste the contents of this page into C:Program filesRDP Wrapperrdpwrap.ini.
- Restart Windows.
- To open RDP Wrapper Configuration, double-click on “RDPConfig.exe”.
- To connect to multiple RDP sessions remotely, double-click on “RDPCheck.exe”
2. Modify termsrv.dll Using HEX editor
Another effective way to enable multiple remote desktop connections is by modifying termsrv.dll These steps don’t look as difficult as they sound. You should follow each step and be fine.
This is how you do it.
- To create a backup of termsrv.dll before you edit or replace it, open the Command Prompt. Enter the following prompt: copy c:\Windows\System32\termsrv.dll termsrv.dll_backup
- To change the owner of a file from ‘TrustedInstaller’ to the local administrators group, execute the following: takeown /F c:\Windows\System32\termsrv.dll /A
- Upon successful completion, you will see this message: SUCCESS: The file (or folder): c:\Windows\System32\termsrv.dll now owned by the administrators group
- To grant the local administrators group with Full Control permissions for the termsrv.dll file using the icacls.exe, execute this: icacls c:\Windows\System32\termsrv.dll /grant Administrators:F
- Once the operation is completed successfully, you will see the following message: processed file: c:\Windows\System32\termsrv.dll Successfully processed 1 files; Failed processing 0 files.
- Stop Remote Desktop Services, (TermService), with the services.msc console. You can also execute the command net stop TermService
- select WindowsProductName, WindowsVersion
- Install the following HEX editors software.
- HEX editor can be used to open the ‘termsrv.dll” file. Tiny Hexer cannot edit files in the system32 directory ‘termsvr.dll.’ You must save the file to your desktop, and then modify it.
- This string can be modified depending on the Windows version.
Windows 11 RTM (21H2-22000.258): 39.81 3C06 00.00, 0F84 4F.68 0100/ Windows 10, x64 21,H2? 39.81 03C06 00.00.0F84 5D.61 0100/ Windows 10, x64 19,09:39.813C06 00.00.0F84 51 0100/ Windows 10, x64 18609:39.813C06 00.00.84 3B 00.01 00.00.2B 84 7D.02 00.00.00.00.00.98 8B9 38 00.00.00.00.
- It can be replaced with this string:
39 81 3C 06 00 00 0F 84 7F 2C 01 00
- Save the file and run TermService.
3. PowerShell Script Patch Termsrv.dll
It is an extensive, but helpful process. The steps are listed below. To avoid making mistakes, make sure to follow the steps carefully. With the PowerShell script, here’s how you can fix termsrv.dll.
- Paste the following into Notepad.
# Stop RDP service, make a backup of the termsrv.dllfile and change the permissions Stop-Service UmRdpService -Force Stop-Service TermService -Force $termsrv_dll_acl = Get-Acl c:\windows\system32\termsrv.dll Copy-Item c:\windows\system32\termsrv.dll c:\windows\system32\termsrv.dll.copy takeown /f c:\windows\system32\termsrv.dll $new_termsrv_dll_owner = (Get-Acl c:\windows\system32\termsrv.dll).owner cmd /c "icacls c:\windows\system32\termsrv.dll /Grant $($new_termsrv_dll_owner):F /C" # search for a pattern in termsrv.dll file $dll_as_bytes = Get-Content c:\windows\system32\termsrv.dll -Raw -Encoding byte $dll_as_text = $dll_as_bytes.forEach('ToString', 'X2') -join ' $patternregex = ([regex]'39 81 3C 06 00 00(\s\S\S)6') $patch = 'B8 00 01 00 00 89 81 38 06 00 00 90' $checkPattern=Select-String -Pattern $patternregex -InputObject $dll_as_text If ($checkPattern -ne $null) $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' Exit else Write-Output "Pattern not found" # patching termsrv.dll [byte] $dll_as_bytes_replaced = -split $dll_as_text_replaced -replace '^', '0x' Set-Content c:\windows\system32\termsrv.dll.patched -Encoding Byte -Value $dll_as_bytes_replaced # comparing two files fc.exe /b c:\windows\system32\termsrv.dll.patched c:\windows\system32\termsrv.dll # replacing the original termsrv.dll file Copy-Item c:\windows\system32\termsrv.dll.patched c:\windows\system32\termsrv.dll -Force Set-Acl c:\windows\system32\termsrv.dll $termsrv_dll_acl Start-Service UmRdpService Start-Service TermService
- Save the file with the extension .ps1 like termsrv_rdp_patch.ps1
- Execute the PowerShell command Set-ExecutionPolicyBypass -Scope Procedure -Force to change PowerShell’s execution policy settings in the current session
- Double-click on ‘termsrv_rdp_patch.ps1’ to execute the script. Each time Windows is upgraded to Windows, or when you receive monthly cumulative updates, the termsrv.dll file must be edited manually.
4. Modify Local Group Policies
This one is last on the list, and it’s a very simple one. This is why you need to follow every step with care and not skip any steps. This step is relatively easy and should not be difficult.
This is how it works:
- Use the Windows key to activate it.
- To open the Local Group Policy Editor Panel, type gpedit.msc then press Enter.
- Navigate to Computer Configuration > Administrative templates > Windows Components> Remote Desktop Services > Remote Desktop Session Hosting > Connections
- Double-click the “Restrict Remote Desktop Services” user to change it to one ‘Remote Desktop Services’ session policy, and then set it to Disabled
- Double-click on the “Limit number connections” policy. To enable counter menu for RD Maximum Connections, select ‘Enabled Radio’ in the section ‘Options.
- Limit the number of RD Maximum Connections to 999999
- To apply these changes, click on OK
- Restart Windows.
This is all you need to know about how to enable multiple remote desktop connections in Windows 11. These are the best and most widely used methods for RDP multiple session access. You can also try other options to find out which works well for you. You are welcome!