Remote Desktop

How to troubleshoot general Remote Desktop connection issues on Windows 10

How to troubleshoot general Remote Desktop connection issues on Windows 10

Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software. In this post, we will explore how to troubleshoot general Remote Desktop connection issues on Windows 10.

Fix Remote Desktop connection issues

Try the outlined troubleshooting steps below when a Remote Desktop client can't connect to a remote desktop but doesn't provide messages or other symptoms that would help identify the cause.

1] Check the status of the RDP protocol on a local computer

You'll need to enable Remote Desktop to check and change the status of the RDP protocol on a local computer. You can also enable Remote Desktop using Command Prompt or PowerShell.

2] Check the status of the RDP protocol on a remote computer

To check and change the status of the RDP protocol on a remote computer, use a network registry connection.

Since this is a registry operation, it is recommended that you back up the registry or create a system restore point as necessary precautionary measures. Once done, you can proceed as follows:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server

The value of 0 indicates RDP is enabled, while the value of 1 indicates RDP is disabled.

3] Check whether a Group Policy Object (GPO) is blocking RDP on a local computer

A GPO may be overriding the computer-level settings, if you can't turn on RDP in the user interface or the value of fDenyTSConnections reverts to 1 after you've changed it

To check the group policy configuration on a local computer, do the following:

gpresult /H c:\gpresult.html

If the setting for this policy is Enabled, Group Policy is not blocking RDP connections. If the setting for this policy is Disabled, check Winning GPO. This is the GPO that is blocking RDP connections.

4] Check whether a GPO is blocking RDP on a remote computer

To check the Group Policy configuration on a remote computer, run the command below in elevated CMD prompt:

gpresult /S  /H c:\gpresult-.html

The file that this command produces (gpresult-.html) uses the same information format as the local computer version (gpresult.html) uses.

5] Modify a blocking GPO

You can modify these settings in the Group Policy Object Editor (GPE) and Group Policy Management Console (GPMC).

To modify the blocking policy, use one of the following methods:

Using GPE, do the following:

Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
 gpupdate /force

Using GPMC, navigate to the organizational unit (OU) in which the blocking policy is applied to the affected computers and delete the policy from the OU.

6] Check the status of the RDP services

On both the local (client) computer and the remote (target) computer, the following services should be running:

On either computer, if one or both services are not running, start them.

Do the following:

You can also use PowerShell to manage the services locally or remotely (if the remote computer is configured to accept remote PowerShell cmdlets).

7] Check the status of the RDP listener

This procedure uses PowerShell because the same cmdlets work both locally and remotely. For a local computer, you can also use a command prompt that has administrative permissions.

To connect to a remote computer, do the following:

Enter-PSSession -ComputerName 

If the list includes rdp-tcp with a status of Listen, as shown in the image above, the RDP listener is working. Jump to the Troubleshooting step 10] below. Otherwise, you'll need to export the RDP listener configuration from a working computer.

Do the following:

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

To back up the existing registry entry, enter the following cmdlet:

cmd /c 'reg export "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp" C:\Rdp-tcp-backup.reg'

To remove the existing registry entry, enter the following cmdlets:

Remove-Item -path 'HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-tcp' -Recurse -Force

To import the new registry entry and then restart the service, run the cmdlets below. Replace the placeholder with the name of the exported .reg file.

cmd /c 'regedit /s c:\.reg' Restart-Service TermService -Force

Once done executing the cmdlets, you can test the configuration by trying the remote desktop connection again. If you still can't connect, restart the affected computer.

If you still can't connect, proceed with the next troubleshooting step which is to check the status of the RDP self-signed certificate.

8] Check the status of the RDP self-signed certificate

If you still can't connect, do the following:

9] Check the permissions of the MachineKeys folder

On the affected computer, do the following:

 C:\ProgramData\Microsoft\Crypto\RSA\

Make sure that the following permissions are configured:

10] Check the RDP listener port

On both the local (client) computer and the remote (target) computer, the RDP listener should be listening on port 3389. No other applications should be using this port.

To check or change the RDP port, use the Registry Editor. As a precautionary measure back up the registry or create a system restore point, then continue as follows:

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

11] Check that another application isn't using the same port

Do the following:

 Enter-PSSession -ComputerName 

Next, run the following command:

cmd /c 'netstat -ano | find "3389"'

Note: The process identifier (PID) for the process or service using that port appears under the PID column.

cmd /c 'tasklist /svc | find ""'

Configure the other application or service to use a different port (recommended).

Uninstall the other application or service.

Configure RDP to use a different port, and then restart the Remote Desktop Services service (not recommended).

12] Check whether a firewall is blocking the RDP port

You can use the psping tool to test whether you can reach the affected computer by using port 3389.

Do the following:

psping -accepteula :3389

Connecting to : The remote computer is reachable.

(0% loss): All attempts to connect succeeded.

The remote computer refused the network connection: The remote computer is not reachable.

(100% loss): All attempts to connect failed.

Additional steps you can take includes;

Hope this post can help you successfully troubleshoot RDP connection issues you might be having!

Gry Najlepsze gry wiersza poleceń dla systemu Linux
Najlepsze gry wiersza poleceń dla systemu Linux
Wiersz poleceń jest nie tylko twoim największym sprzymierzeńcem podczas korzystania z Linuksa - może być również źródłem rozrywki, ponieważ możesz go ...
Gry Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Najlepsze aplikacje do mapowania gamepada dla systemu Linux
Jeśli lubisz grać w gry na Linuksie za pomocą gamepada zamiast typowego systemu wprowadzania klawiatury i myszy, jest kilka przydatnych aplikacji dla ...
Gry Przydatne narzędzia dla graczy Linuksa
Przydatne narzędzia dla graczy Linuksa
Jeśli lubisz grać w gry w systemie Linux, prawdopodobnie używałeś aplikacji i narzędzi, takich jak Wine, Lutris i OBS Studio, aby poprawić wrażenia z ...