Force a specific theme for entire network using GPO

9,589

*Edit this makes the theme setting window open at startup I'm looking for a better solution

I was working on this today and came up with a rather simple solution for Windows 10.

Since you can execute theme files, you can add the file to run at startup in the registry or also by adding it to the startup folder I think. I have my theme in a read-only folder on the network and added a startup key on the machine. One drawback of using a startup key is that if you look at the startup list in task manager it shows up as "Program" and if there is more than one you can't tell which is which.

  1. Determine if you want this file locally or on a network share and put it there.
  2. Add a GPO to set the theme for new users Load a specific theme located at User Configuration\Policies\Admin Templates\Personalization
  3. Add a GPO to add a registry key or add the key manually via SCCM or other management software. CMD to add silently: reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /v %KeyName% /t REG_EXPAND_SZ /d "%Path%\File.theme" /f
  4. Log out/in and the theme should apply within 30 seconds.

You may want to remove the startup key after a while or you can leave in place to force the theme to re-apply after every sign in.

The problem with applying a theme to an existing user profile is that the registry key for setting the theme is per user. There is no computer level theme setting as far as I can tell. The user level setting is set with CurrentTheme under Computer\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Themes. Changing the path doesn't seem to change the theme though.

I never found a better solution so I'm using the GPO to apply theme to new user sign-in. For some reason it is not applying all of the settings included in the theme. The slideshow duration is set to 6 hours but new users are set for 30 minutes. I may just add running the theme file to a new user setup script we have and apply it manually for good measure. Another option is a login script you can apply to all users for a time then remove. Or add a logon script to change a system variable when it's applied or check the registry to see if it's applied. There are lots of hacky solutions but nothing provided by Microsoft for existing users unfortunately.

Share:
9,589

Related videos on Youtube

Recnats
Author by

Recnats

I develop PHP and MSSQL as part of my job and it has also been my passion for most of my life, I like to help but will put my hands up if somebody does it a better way!

Updated on September 18, 2022

Comments

  • Recnats
    Recnats over 1 year

    I am attempting to force a specific theme to all machines in my network. I know that the GPO "Load a Specific Theme" in:

    User Configuration/Administrative Templates/Control Panel/Personalization

    Is meant to be for first login only, however I need to be able to do this for all current users. The main goal is to change the colour of the toolbar/window objects to something other than the default.

    This is what I have tried:

    • Created the theme on a PC, exported it and extracted the .theme file and used GPO to transfer this file to the users PC under C:\Users\username\AppData\Local\Microsoft\Windows\Themes. This makes it show up in the themes list on the Personalization screen however I have disabled the ability for the user to change these settings at this point. Then using the Load a Specific Theme point to the .theme file within the directory above but this has no effect.
    • Attempted to edit the registry keys: HKCU\Control Panel\Colors and HKCU\Control Panel\Desktop\Colors with no effect again even on restart.

    I am pulling my hair out here and every other Group Policy is applying and working except for this one. I would really appreciate any help on this.

    EDIT:

    The custom theme shows up in the personalization screen but does not apply

    • bentek
      bentek almost 9 years
      Does it work if you use a standard theme (not customized)?
  • Recnats
    Recnats almost 9 years
    Hi bentek, thanks for your answer, do i apply the hotfix to the server or devices in question?
  • Recnats
    Recnats almost 9 years
    Hi curropar, themes are working fine and this issue mainly presents in Windows 8.1 Pro. We disable changing themes/colours/sounds etc by default through GPO. The custom theme shows up in the personalization screen but does not apply
  • bentek
    bentek almost 9 years
    The client machines.