Servers: Windows 2008R2
Service: Microsoft Remote Desktop Services / Session Host
Situation:
Let's say 10 Group Policy objects apply to a given user. When the user RDP to ServerA, all 10 policy objects are applied correctly. But when logging on to ServerB, only 8 policy objects are applied.
RSoP executed on ServerB shows that all 10 policy objects should apply.
Looking through Events Log, I see nothing out of ordinary indicating why only 8 policy objects were applied.
Beware of Windows Updates!
Found the culprit - KB3159398: MS16-072: Description of the security update for Group Policy: June 14, 2016.
Turns out that this got installed on the server which were not applying some group policies and wasn't installed on those that were behaving correctly.
To quote the KB:
The policy objects which weren't applied were those which had security filtering of a certain user group or list of users, instead of Authenticated Users. As covered above, those policies couldn't be read by the updated servers because the reading of policy objects was done using the computer account instead of the user account. By adding the Domain Computers group to the security filter, the computer account can now read the policy. Everything seems fine after that. The policy objects are still filtered by users, but the objects can be read by the computer.