Situation: The client has been running Remote Desktop Services for users to run an auto-start application remotely. It works on Windows 2008 R2 and 2012 R2 Server. However, it doesn’t work on Windows 2016 and 2019 server. This is Starting program settings in User’s Environment.
Cause: This is because of the changes to RCM on Windows 20126 and 2019. Quoted from Microsoft article: Changes to Remote Connection Manager in Windows Server 2016
Changes to RCM
In Windows Server 2012 R2 and earlier versions, when a user logs on to a terminal server, the RCM contacts the domain controller (DC) to query the configurations that are specific to Remote Desktop on the user object in Active Directory Domain Services (AD DS). This information is displayed in the Remote Desktop Services Profile tab of the users object properties in the Active Directory Users and Computers MMC snap-in.
Starting in Windows Server 2016, RCM no longer queries the user object in AD DS. If you require RCM to query AD DS because you are using the Remote Desktop Services attributes, you must manually enable RCM. For more information about this by-design behavior in Windows Server 2016, see RCM behavior in Windows Server.
Additionally, consider the following scenario:
- You install Windows Server 2016 with the Remote Desktop Session Host role.
- You configure a local user account to start an application during logon. You do so by using the Local Users and Groups tool in Computer Management.
In this scenario, you expect the user to be presented with the application in the Remote Desktop Session only. However, by default in Remote Desktop Session Host (RDSH) in Windows Server, a full Remote Desktop Session is presented, and the application setup process in the profile doesn’t start.
Resolution: Also quoted from the same article:
To revert to the earlier (pre-Windows Server 2016) behavior, here’s what to do:
If the server has the RD Session Host Role installed, apply the following registry keys to enable the RCM legacy model. It triggers an Active Directory query to check for RDP profile settings:
- Path:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
andHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\<Winstation name>\
- Name: fQueryUserConfigFromDC
- Type: Reg_DWORD
- Value: 1 (Decimal)
Then, restart the Remote Desktop Service. If the server doesn’t have the Remote Desktop Service role installed, you must set up an extra registry key:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server