So, who’s idea was that?
How many of you are running Sever 2016? have you noticed the default background for the desktop experience is the same as Windows 10. That’s great for marketing but a pain in the posterior when you are flicking between servers and workstations that have the exact same desktop. It maybe my age but I wanted an automatic way of changing the background on the 2016 servers so I had a fighting chance of identifying which machine I was using.
Preparing the background image
First off you are going to need a background image, this is going to be 3840×2160 in size so it’ll scale to most RDP screen sizes. In my case I simply grabbed the default wallpaper from the server (they can be found in C:\Windows\Web\4K\Wallpaper\Windows). Or if you’re feeling lazy you can download my edited version here.
Next we need to put the image somewhere that it will always be available. Again here I dropped the image into the NETLOGON share on the domain within a sub-folder. That way it’ll get replicated around the domain as well.
Group Policy Configuration
Right, lets fire up Group Policy Management.
To start with we’ll create a new Group Policy Object, I’ll call it “Windows Server 2016 – Desktop Background”
The policy setting that we want to edit is under “User Configuration” -> “Policies” -> “Administrative Templates” -> “Desktop” -> “Desktop” -> “Desktop Wallpaper”
Double click the “Desktop Wallpaper” setting
- Click “Enable”
- Set the wallpaper name to the UNC of the location of your desktop image file i.e. \\domain.com\NETLOGON\Backgrounds\WindowsServer2016Background.jpg
- Set the “Wallpaper style” to “Fill”
- Click “OK”
Within the same GPO navigate to “Computer Configuration” -> “Policies” -> “Administrative Templates” -> “System” -> “Group Policy” and locate the GP setting called “Configure user Group Policy loopback processing mode”
Enable this setting and change the “Mode” to “Replace”
The reason for this setting is to ensure that the “User Configuration” settings are applied to the server when the user logs in. If this setting isn’t configured the policy won’t get applied to the server because the GPO is only associated to a OU with server (computer) objects. Once done we can close this window and return to the Group Policy Management screen.
Ok, as mentioned above this GPO is going to be applied to the server OUs however I suspect that your server OUs also contain Windows 2008/2012/2012R2 servers and you don’t want a Server 2016 desktop applied to these servers. To stop this from happening we can create a WMI filter that’ll single out Server 2016 servers.
So…from Group Policy Management find “WMI Filters”, right click it and select “New”
Give it a name and description i.e. “Windows Server 2016”
In the queries window click “Add” and add the following query
select * from Win32_OperatingSystem where Version like “10.%”
This query will ensure that the OS version is 10 (i.e. Server 2016) and won’t apply to any OS versions below this. Click “OK” and click “Save” to exit the WMI filter window.
Applying the GPO
Ok, so we have our nice new GPO created, the background image on the server and finally a WMI filter created to ensure that only 2016 Servers get the new background.
We just need to apply this GPO to the OU container that houses the servers, in my example I am targeting the DCs. Then we need to set the WMI filter on the GPO to be the one we just created above.
All needs to be done now is to run GPUPDATE on the servers. Log off and log back in and see that nice new background!