So I had a customer that requested that I changed the background color for all users of a RDS solution. Well that seems easy, lets start by right clicking the desktop and selecting personalize, woho. It isn’t there, by default Windows Server does not include Desktop Experience. So lets install it, just for fun. Its not needed really.

Add-WindowsFeature Desktop-Experience

This wants to reboot so lets do that and take a coffee

Great and now lets log on and we can select the background color for the current user. But my request was for all the users. So how can we change for all users. Since I love GPOs to make sure that all servers in a farm are the same my suggestion is the following:

  • Create a GPO that uses registry preferences for both user and computer
  • Enable loopback processing with merge
  • Set the default background color for new users
  • Set the background color if someone tries to change it using the loopback.
  • Where in the registry

Lets set the background color for both the current user and all new users, lets create 2 REG_SZ with the color:

[HKEY_USERS\.DEFAULT\Control Panel\Colors]
"Background"="86 63 127"
[HKEY_CURRENT_USER\Control Panel\Colors]
"Background"="86 63 127"

Still just a wallpaper

Well that didnt solve the problem, the color is there.. But so is the background image. Well Lets remove that too then from the registry. Blank out the two following keys:

[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
[HKEY_CURRENT_USER\Control Panel\Desktop]

Tada now the background is the correct color..

What about the meny then..

Well this gem is hidden in the registry under a key that need to be created. The first part should is the alpha channel lets leave it as ff, then just add the RGB code for the color you want. I have written a post about the colors windows knows about.


Set the menu for the computer too


So now you have a really colorful windows for your users. I have seen this modification to be used in environments so that production, test or DMZ server have different colors, to reduce the risk of doing things on the wrong server.