Multiple RDP (Remote Desktop) sessions on Windows 8

Remote Desktop

Windows 8 Pro (as well as all previous Windows client OS version) allows only one concurrent user session. This means you can't connect via Remote Desktop if local user is already logged on. Normally it's not a problem on a client machine, but in some cases you may want ability to login concurrently. A good example is a Media Centre PC when somebody watches a movie and you want to access the machine without interrupting the movie.

To have multiple RDP sessions working your need to make some modifications to the termsrv.dll file. There are tools that do these changes automatically, but they often come from dubious sources and it's difficult to be sure that they are completely safe. This article shows how to modify termsrv.dll file yourself.

termsrv.dll file is normally located in C:\Windows\System32 folder. Before modifying this file for the first time, you need to take ownership and assign yourself read/write permissions. You also need to stop Remote Desktop service (TermService).

Once this is done, it's simply a question of opening termsrv.dll with a HEX editor and changing small part of the file. Always backup the original file before making changes. 

Certain Windows updates can replace your patched version of termsrv.dll. This doesn't happen very often, but if you let Windows update automatically, be prepared to loose multiple RDP sessions at any time.

 


 

Windows 8.1 (64bit)

 

In original version of Windows 8.1 (64bit), you need to replace:

8B 81 38 06 00 00 39 81 3C 06 00 00 0F 84 1B 70 00 00

with

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

Here are the patched bits:

patched termsrv.dll for Windows 8.1 64bit

Readily patched version can be download from here.

If something goes wrong and you want to revert, original unpatched termsrv.dll v6.3.9600.16384 can be downloaded from here.

Note: This was tested and works with Windows 8.1 Pro RTM 64bit.


 

July 2014 update for Windows 8.1 (64bit)

 

One of the Windows updates installed on 9th of July updated termsrv.dll file from version 6.3.9600.16384 to 6.3.9600.17095. File size also changed from 1,032,704 bytes to 1,018,880 bytes. This naturally broke the previous termsrv.dll patch.

To restore concurrent RDP sessions, use any HEX editor and replace:

39 81 3C 06 00 00 0F 84 9E 31 05 00

with

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

Or just download a patched version from here. You will need to stop Remote Desktop services and possibly take ownership of termsrv.dll before you can update it.

Original unpatched v6.3.9600.17095 can be downloaded from here.

Note: This was tested and works with Windows 8.1 Pro RTM 64bit.


 

November 2014 update for Windows 8.1 

(64bit)

Windows updates now updated termsrv.dll file from version 6.3.9600.17095 to 6.3.9600.17415. File size changed from 1,018,880 bytes bytes to 1,114,624 bytes.

To restore concurrent RDP sessions, use any HEX editor and replace:

39 81 3C 06 00 00 0F 84 D3 1E 02 00

with

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

You can download a patched version from here. You will need to stop Remote Desktop services and possibly take ownership of termsrv.dll before you can update it.

Original unpatched v6.3.9600.17415 can be downloaded from here.

(32bit)

I don't have any 32bit machines and haven't tested this myself, but guys on mydigitallife forums suggest to replace:

3B 81 20 03 00 00 0F 84 2A D5 00 00

with

B8 00 01 00 00 89 81 20 03 00 00 90

 

Update May 2015

As of 05.2015, the same November 2014 patch is still working on up to date Windows 8.1. termsrv.dll is still on version 6.3.9600.17415.


 

 

 



Newsletter

Subscribe to receive occasional updates on new posts.
Your email will not be used for any other purpose and you can unsubscribe at any time.
Please wait