Basics

14 reasons why Remote Desktop doesn’t work in Windows 10 (and how to fix it)

Start here: If your Remote Desktop not working in Windows 10, you can usually fix it by checking whether RDP is enabled, the correct services are running, firewall or network settings are permitting traffic, and your user has permission to connect. This article lists common causes and step-by-step fixes so you can reconnect quickly.

You’ll learn the 14 most frequent reasons RDP fails on Windows 10, quick remedies, detailed steps (commands, menus, registry keys), diagnostic commands and logs to check, and preventive tips.


Key Takeaway

Most Remote Desktop failures are caused by configuration (RDP disabled, wrong users, firewall blocked, or Home edition limits). Start by confirming RDP is enabled, the machine edition supports being a host, Remote Desktop Services is running, and an inbound firewall rule exists for port 3389 (or your custom port).


Quick Fix Guide

Reason for the Problem Quick Solution
RDP is disabled on the PC Enable Settings > System > Remote Desktop or set fDenyTSConnections = 0 in registry.
Windows 10 Home edition (no host) Upgrade to Pro/Enterprise or use a third-party remote tool (AnyDesk, TeamViewer) or apply Microsoft Remote Assistance.
Remote Desktop Services stopped Start Remote Desktop Services and related services in Services.msc.
Firewall blocking port 3389 Allow Remote Desktop through Windows Defender Firewall or create an inbound rule for port 3389.
Network profile set to Public Set network to Private in Settings > Network & Internet.
User not allowed or no password Add user to Remote Desktop Users and ensure the account has a password.
Network Level Authentication (NLA) or CredSSP errors Temporarily disable NLA or update client/host and apply CredSSP patches.
Wrong IP/hostname or no port forwarding Use correct IP, set router port forwarding or use VPN.
RDP port changed or conflict Check registry PortNumber and listening ports with netstat -an.
Multiple NICs / IPv6 vs IPv4 binding Use correct address or disable IPv6/misbound adapters temporarily.
Group Policy or registry blocking RDP Check gpedit.msc policy settings and registry Terminal Server keys.
Third-party antivirus/security blocking RDP Temporarily disable or whitelist RDP in the security product.
Corrupt system files or RDP components Run sfc /scannow and DISM /Online /Cleanup-Image /RestoreHealth, then reboot.
Max sessions reached / hung sessions Use qwinsta and rwinsta or reboot to free sessions; consider logoff.

Detailed Fixes for “Remote Desktop not working in Windows 10”

1. RDP is disabled on the PC

Why it causes the problem:
If Remote Desktop is turned off the host will refuse connections.

See also  11 reasons why DNS doesn’t work in Windows 10 (and how to fix it)

Step-by-step solution:

  1. Open Settings > System > Remote Desktop.
  2. Turn on Enable Remote Desktop (confirm when prompted).
  3. Alternatively open Control Panel > System > Remote settings and check Allow remote connections to this computer.
  4. Check the registry: open regedit and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server; ensure fDenyTSConnections is set to 0.
    Note: After enabling, verify firewall rule exists (see firewall step).

2. Windows 10 Home edition (cannot be RDP host)

Why it causes the problem:
Windows 10 Home does not include the built-in RDP host; it only provides the client.

Step-by-step solution:

  1. Check edition: Settings > System > About (look at Edition).
  2. If Home, upgrade to Pro via Settings > Update & Security > Activation or use a supported alternative:
    • Use Microsoft Remote Assistance, Quick Assist, or third-party tools like TeamViewer, AnyDesk, or Chrome Remote Desktop.
      Note: Unofficial RDP host “patches” exist — avoid them for security reasons.

3. Remote Desktop Services stopped

Why it causes the problem:
RDP requires the Remote Desktop Services and supporting services to be running.

Step-by-step solution:

  1. Press Win + R, type services.msc and press Enter.
  2. Find Remote Desktop Services (service name TermService) and ensure Startup Type is Automatic and the service is Started.
  3. Also check Remote Desktop Services UserMode Port Redirector and Remote Desktop Configuration.
  4. If stopped, right-click and choose Start; if it fails, check Event Viewer for errors.
    Tip: Use PowerShell to query service: Get-Service -Name TermService.

4. Windows Firewall blocking RDP

Why it causes the problem:
Even with RDP enabled, the firewall may block inbound connections on port 3389.

Step-by-step solution:

  1. Open Control Panel > Windows Defender Firewall > Allow an app or feature through Windows Defender Firewall and enable Remote Desktop for Private (and Public, if needed) networks.
  2. Or create an inbound rule: open Windows Defender Firewall with Advanced Security, select Inbound Rules > New Rule > Port, choose TCP and enter 3389, allow the connection and name the rule.
  3. For command-line: open an elevated PowerShell and run:
    netsh advfirewall firewall add rule name=”Allow RDP” dir=in action=allow protocol=TCP localport=3389
    Note: If using a 3rd-party firewall, follow vendor steps to allow port 3389.

5. Network profile set to Public

Why it causes the problem:
Windows applies stricter rules for Public networks and may block discovery and RDP rules.

Step-by-step solution:

  1. Open Settings > Network & Internet > Status.
  2. Click Properties for the connected network and set Network profile to Private.
  3. Re-check firewall rule status after changing the profile.
    Tip: Only set Private on trusted home/work networks.

6. User not allowed or no password

Why it causes the problem:
The account trying to connect must be a member of Remote Desktop Users (or an admin) and usually must have a password.

Step-by-step solution:

  1. Open Settings > System > Remote Desktop and click Select users that can remotely access this PC.
  2. Click Add, enter the username, and confirm.
  3. Ensure the account has a password (Windows doesn’t allow blank passwords for RDP by default).
  4. For local accounts, check Control Panel > User Accounts to verify password status.
    Tip: Use domain-qualified names (DOMAIN\username) if in a domain.

7. Network Level Authentication (NLA) or CredSSP issues

Why it causes the problem:
NLA requires pre-authentication; if client or host lacks proper credentials/certs or if CredSSP patches mismatch, connections fail with authentication errors.

See also  12 reasons why Microsoft Edge doesn’t work in Windows 10 (and how to fix it)

Step-by-step solution:

  1. Try temporarily disabling NLA for diagnosis: Control Panel > System > Remote settings, uncheck Allow connections only from computers running Remote Desktop with Network Level Authentication (recommended).
  2. Update both client and server with Windows Update to ensure CredSSP patches are aligned.
  3. If CredSSP errors appear, follow Microsoft guidance to apply the correct updates or registry fixes: open gpedit.msc > Computer Configuration > Administrative Templates > System > Credentials Delegation to manage Allow delegating saved credentials policies.
    Warning: Disabling NLA reduces security — re-enable once patched.

8. Wrong IP/hostname or missing port forwarding (router/NAT)

Why it causes the problem:
If you try to RDP remotely, the router needs to forward external port 3389 to the PC’s internal IP, and the client needs the correct public IP or DNS name.

Step-by-step solution:

  1. On the host, find local IP: open command prompt and run ipconfig.
  2. Set a static IP or DHCP reservation on the router for the host.
  3. In the router, create a port forwarding rule forwarding external port 3389 (or chosen port) to the host’s IP on port 3389.
  4. From the remote client, connect to the public IP or hostname: mstsc /v:public.ip.address:3389.
  5. For testing from outside, use Test-NetConnection -ComputerName your.public.ip -Port 3389 in PowerShell.
    Security tip: Instead of port forwarding, prefer a VPN for remote connections.

9. RDP port changed or conflict

Why it causes the problem:
If the listener uses a different port than 3389, clients trying default 3389 fail; port conflicts can also block listening.

Step-by-step solution:

  1. Check listening ports: open elevated command prompt and run netstat -an | find “LISTEN” | find “3389”.
  2. Check registry: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp, value PortNumber (decimal).
  3. If changed, either restore to 3389 or specify the port when connecting: mstsc /v:host:port.
  4. If conflict with another service, change the other service port or RDP port (ensure firewall updated).

10. Multiple NICs, IPv6 vs IPv4 binding issues

Why it causes the problem:
RDP listener may bind to an unexpected adapter or only to IPv6 while the client uses IPv4.

Step-by-step solution:

  1. Run netstat -anob (elevated) to see which adapter addresses RDP is listening on.
  2. Temporarily disable secondary adapters (Wi-Fi/Ethernet) via Settings > Network & Internet > Change adapter options to isolate.
  3. If IPv6 is causing an issue, try disabling IPv6 for testing on Network Adapter > Properties.
    Tip: Ensure DNS resolves to the intended adapter.

11. Group Policy or registry blocking RDP

Why it causes the problem:
Policies can disable or restrict RDP regardless of local settings.

Step-by-step solution:

  1. Open gpedit.msc (Windows Pro/Enterprise) and check:
    • Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections — ensure Allow users to connect remotely by using Remote Desktop Services is Enabled.
  2. Check Computer Configuration > Administrative Templates > System > Credentials Delegation for policies interfering with authentication.
  3. For registry: verify fDenyTSConnections under Terminal Server (see earlier).
  4. If in a domain, coordinate with your AD admin — domain GPOs can override local settings.

12. Third-party antivirus/security blocking RDP

Why it causes the problem:
Security suites may block RDP traffic or the Terminal Services process.

Step-by-step solution:

  1. Temporarily disable the third-party security product and test RDP.
  2. If it works, add an exception for svchost.exe or the RDP port 3389, or whitelist the TermService process.
  3. Consult vendor docs for persistent rules.
    Warning: Only disable AV briefly and test; do not run unsecured.
See also  10 reasons why Browser doesn’t work in Windows 10 (and how to fix it)

13. Corrupt system files or RDP components

Why it causes the problem:
Damaged system files or RDP related components can break the listener or authentication.

Step-by-step solution:

  1. Open elevated command prompt and run sfc /scannow.
  2. If problems remain, run DISM /Online /Cleanup-Image /RestoreHealth.
  3. Reboot and re-check Remote Desktop Services and firewall rules.
  4. Check Event Viewer for TerminalServices errors: Event Viewer > Windows Logs > System and **Applications and Services Logs > Microsoft > Windows > TerminalServices-***.

14. Max sessions reached or hung sessions

Why it causes the problem:
Windows may reject new connections when maximum sessions are reached or orphaned sessions exist.

Step-by-step solution:

  1. On the host, open an elevated command prompt and run qwinsta to list sessions.
  2. If sessions are hung, use rwinsta to reset a session or logoff .
  3. If you cannot log in remotely, reboot the host to clear sessions.
    Note: Windows 10 single-user desktop supports one interactive session at a time (unless patched).

Tools and Commands to Test RDP and Read Logs (Useful Section)

  • Test connectivity:
    • ping
    • telnet 3389 (or Test-NetConnection -ComputerName -Port 3389 in PowerShell)
    • mstsc /v:[:port]
  • Check listeners:
    • netstat -an | find “3389”
    • netstat -anob (shows owning process; requires admin)
  • Service and session commands:
    • Get-Service -Name TermService (PowerShell)
    • qwinsta and rwinsta to diagnose sessions
  • Event logs:
    • Event Viewer path: Applications and Services Logs > Microsoft > Windows > TerminalServices-LocalSessionManager and TerminalServices-RemoteConnectionManager.
    • System log entries for TermService and security/authentication events.
  • Useful PowerShell:
    • Test-NetConnection -ComputerName -Port 3389
    • Get-EventLog -LogName System -Source TermService -Newest 50

FAQ

Q: Can I remotely access a Windows 10 Home PC using Microsoft tools?
A: Windows 10 Home cannot host RDP sessions; use Quick Assist, Remote Assistance, Chrome Remote Desktop, or third-party services. Upgrading to Pro enables built-in RDP host.

Q: Is it safe to open port 3389 on my router?
A: Exposing RDP directly to the internet is risky. Prefer a VPN or at minimum change the port, use strong passwords, enable NLA, and restrict source IPs on the router/firewall.

Q: What if I get CredSSP or authentication errors after update?
A: Ensure both client and host are fully updated with Windows Updates. Temporarily disabling NLA can help test, but apply patches and re-enable NLA for security.

Q: How can I make RDP faster on slow connections?
A: In mstsc > Show Options > Experience, lower the connection speed and disable visual features (desktop background, font smoothing, themes, animation). Use LAN setting for best performance.

Q: Can I allow multiple concurrent RDP sessions on Windows 10?
A: Officially no — Windows 10 desktop supports one interactive session. Servers with Remote Desktop Session Host (RDS) support multiple sessions with correct licensing. Unofficial patches exist (unsupported/risks).


Conclusion

Most Remote Desktop problems come down to configuration: the host must support RDP, the service must be running, firewall and network must permit the traffic, and the connecting user must have adequate permissions. Use the steps above to methodically diagnose and fix the issue of Remote Desktop not working in Windows 10, and prefer secure practices such as VPNs and NLA when exposing RDP.

About the author

Jonathan Dudamel

Jonathan Dudamel

I'm Jonathan Dudamel, an experienced IT specialist and network engineer passionate about all things Windows. I have deep expertise in Microsoft project management, virtualization (VMware ESXi and Hyper-V), and Microsoft’s hybrid platform. I'm also skilled with Microsoft O365, Azure ADDS, and Windows Server environments from 2003 through 2022.

My strengths include Microsoft network infrastructure, VMware platforms, CMMS, ERP systems, and server administration (2016/2022).