Remote Desktop Freezes, Hangs, Locks, Disconnects After Upgrading to Windows 10

remote desktop connection

So after banging our heads for more than 100 hours, we have finally found a solution for Remote Desktop becoming unresponsive after being idle for a few minutes after upgrading to Windows 10.

Obviously, since it took me over 100 hours to figure out I’m not much of an IT pro but my theory is that the Windows 10 RD Client has a new security feature that is not supported on older server OS’s or older OS’s in general.

!This article only applies to you if you are using Server 2008 Standard as your host!

Our scenario was Remote Desktop users could connect to our Server 2008 Standard 32 bit server with no idle disconnects until upgrading their client machine to Windows 10.  Now the tricky part was that if the Windows 10 machine RD’ed in with the servers BUILT IN Administrator account there was no idle timeout.

 

If I copied the built-in admin account and tried to RD in with those credentials I was treated just like a connection from a user account and the RD session would become unresponsive after just a minute or two.

On your Windows 10 client machine go to your search bar and type Regedit.  Right click on Regedit and choose to run as administrator. Up at the top choose FILE then EXPORT.  Save the export somewhere in case you botch up the registry.

Add the following entries.

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services]

KeepAliveEnable  dword value is: 1  (add as decimal)

KeepAliveInterval  dword value is: 1  (add as decimal)

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]

KeepAliveEnable  dword value is: 1  (add as decimal)

KeepAliveInterval  dword value is: 1  (add as decimal)

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters]

KeepAliveInterval  dword value is: 1  (add as decimal)

KeepAliveTime  dword value is:  249f0  (add as hex)

TcpMaxDataRetransmissions  dword value is: 10  (add as decimal)

(In the dword values above there are no letter O’s, those are zeros.)

Ok so if you are new to editing the registry, you will open the tree on the left and start drilling down. Let’s take the top entry for example:

Click on the  HKEY LOCAL MACHINE folder.

Click on the SOFTWARE folder.

Click on the Policies folder.

Click on the Microsoft folder.

Click on the Windows NT folder.

Now right-click on the Terminal Services folder and choose New> Dword 32-bit value.

In the name of the new entry paste in EXACTLY what is above. So you would paste in exactly KeepAliveEnable

Hit the enter button on your keyboard.

Now double-click on the new entry you created and click the Decimal radio button and type the number 1 in the value data field. Click Ok and add your next entry.

After you are finished with all of your new entries close Regedit and restart your computer.

That’s it. Log into your remote desktop session and get back to work.