)
)
Diagnose and terminate hung RDP sessions via Remote PowerShell or CMD
When RDP is stuck on "Please wait," it's often due to zombie user sessions or mismanaged session states. These can persist on the target machine, preventing new connections from initializing correctly.
Use query user to identify stuck sessions
Remote into the host machine using PowerShell remoting or SSH, and then run:
This command returns the list of active, disconnected, and idle user sessions with their session IDs and status.
Example output:
Look for sessions in the “Disc” (Disconnected) or “Down” state. These may be interfering with new connections.
Reset the Problematic Session
Use the session ID you identified above to reset the stuck session:
This command forcefully terminates the specified RDP session on the host, clearing any login blocks.
Transitional Insight
If the session reset doesn’t restore connectivity or the host continues to hang on "Please wait," the issue may involve the RDP client process or Windows services on either the client or server side. Let’s look deeper.
Kill RDP client-side processes to recover local responsiveness
The hang can originate from the client machine, especially if you're using modern Windows builds where msrdc.exe replaces the legacy mstsc.exe.
Identify Active RDP Processes
Open Command Prompt as Administrator on the client:
If either mstsc.exe (legacy
Remote Desktop Connection
) or msrdc.exe (new Microsoft Remote Desktop) is running and unresponsive, this could be the cause.
Force-Kill the RDP Process
Terminate it to restart a clean session:
This immediately ends the client-side session and avoids lingering cache states or handshake errors.
Note for IT Admins
msrdc.exe is often used with Azure AD or Microsoft Store-installed RDP clients, and it stores state differently. Clearing it ensures that no hung credentials or GUI threads are stalling the session.
Restart Windows Remote Desktop Services to Unblock the Host System
At the OS level, RDP relies on several background services to handle authentication, session initialization, clipboard sync, and user environment loading. A corrupted or blocked service may prevent logon from completing.
Restart TermService to Refresh RDP Core
On the remote host, run:
You may see a warning that other services will be affected. This is normal for remote environments, but ensure no critical operations are underway.
Restart SENS and Dependencies
Some RDP hangs involve the System Event Notification Service (SENS) or dependent RPC services. Restart them in order:
Optionally:
Pro Tip: Use Get-Service and sc for Validation
Run this PowerShell line to validate the service state:
Use sc qc TermService to confirm dependency chains.
Perform a Clean Boot to Rule Out Software Conflicts
Background applications—especially security tools or remote management suites—can interfere with user profile loading and remote logon scripts.
Configure a Clean Boot Environment
On the host machine:
- Press Win + R, type msconfig, hit Enter.
- Go to the Services tab.
- Check "Hide all Microsoft services."
- Click Disable All.
- Go to Startup > Open Task Manager > Disable all startup apps.
- Reboot the system.
Observe Post-Boot RDP Behaviour
Attempt to reconnect via RDP If the issue disappears, enable startup services in batches to identify the conflicting component.
Common Culprits
- Antivirus programs with RDP filtering.
- Third-party credential managers.
- Remote assistance tools with screen hooks.
Adjust Group Policy to Prevent Session Conflicts
In domain or multi-user environments, misconfigured Group Policies can lead to session overlaps, orphaned credentials, or repeated logon loops.
Navigate to the Correct Policy Setting
Run gpedit.msc, then:
pgsql: Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Connections
Enable "Restrict RDS Users to a Single Session"
Set the following to Enabled :
- Policy : Restrict Remote Desktop Services users to a single session
This ensures that reconnect attempts resume the previous session instead of creating a new (potentially broken) one.
Force Policy Update and Session Reinitialization
After changing the policy, run:
You may also want to reboot the machine or restart TermService to apply changes fully.
Automate All Fixes with a Combined Recovery Script
For recurring incidents, it’s efficient to script a one-liner that resets sessions and restarts services without rebooting.
Master Recovery Command
cmd: (taskkill /IM rdpclip.exe /F /T || echo rdpclip.exe not running) && (taskkill /IM mstsc.exe /F /T || echo mstsc.exe not running) && net stop TermService && net start TermService
Add this script to a remote management platform, RMM tool, or PSExec deployment to quickly resolve stuck RDP environments.
Discover TSplus: A Smarter Remote Desktop Solution
TSplus Remote Access is engineered to eliminate common RDP frustrations, including the dreaded “Please wait” screen. With features like centralised session management, smart reconnection, and web-based access, it ensures reliable and responsive connectivity across all environments. TSplus empowers IT admins with full control over remote sessions—no reboots, no stuck logins, just smooth, secure access.
Conclusion
The “Remote Desktop stuck on ‘Please wait’” issue is more than a minor inconvenience—it’s a symptom of deeper problems like unclosed sessions, misconfigured services, or system conflicts. By understanding the technical causes and applying targeted fixes, IT professionals can swiftly restore access and minimise downtime. However, for lasting stability and efficiency, relying solely on manual RDP troubleshooting may not be enough in demanding or large-scale environments.

TSplus Remote Access Free Trial
Ultimate Citrix/RDS alternative for desktop/app access. Secure, cost-effective, on-premises/cloud