The symptoms match known Remote Desktop performance issues where logon is very slow and the shell (Start menu, search, etc.) is unresponsive or appears hung.
For Windows Server 2012 R2 specifically, a common cause is a deadlock in Remote Desktop Services when it tries to load user configuration from a domain controller over a slow or congested link. This can make Local Session Manager and logon appear to hang and can leave the desktop partially loaded.
To mitigate this on an affected Windows Server 2012 R2 VM:
- Back up the registry first (required for safety).
- On the problematic server, open regedit.exe.
- Go to one of these keys (whichever exists in your environment):
-
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows NT\Terminal Services -
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\<Connection Name>
(By default<Connection Name>isRDP-Tcp, but it may have been renamed.)
-
- Create a new DWORD (32-bit) Value named:
-
fQueryUserConfigFromLocalMachine
-
- Set its Value data to
1. - Close Registry Editor and restart the server or at least restart Remote Desktop Services.
This forces the server to query user configuration locally instead of the domain controller during logon, avoiding the deadlock and improving RDP logon performance and shell responsiveness.
If the server is running a later OS (for example, Windows Server 2016), this behavior is already the default and the registry change is not required. In that case, or if the issue persists after the change, apply the latest cumulative updates for the OS and verify domain controller/network performance, as slow DC responses can still cause logon delays.
If the VM is Azure-based and you see black screens or incomplete desktops after reconnecting, ensure the OS has the relevant monthly rollup updates installed for its version, as several RDP black-screen and performance issues are fixed by those updates.
References: