Forum Discussion

Tim Hunter's avatar
Tim Hunter
Steel Contributor
Feb 18, 2020

Start Menu Layout Group Policy

I have setup a Group Policy under User Configuration - Administrative Templates - Start Menu and Taskbar and I have Enabled Start Layout to point to my XML file which is in a shared folder. However, the start menu layout is not changing for all users. Any ideas what I can look at to fix it? Thank you.

 

  • dretzer's avatar
    dretzer
    Iron Contributor

    Tim Hunter 

    According to your screenshot, you try to use the layout.xml for your terminal servers. Some things to consider that might give your troubles:

    1. Make sure all users that logon to your session hosts have read access to the fileshare
    2. Make sure that you enabled group policy loopback processing for the session host computers. To apply a user policy to all users that logon to a specific computer, you have to place the policy-object in the OU-path of the computer and set gpo-loopback processing accordingly on the computer-policy for the computer.
    3. Check for a user who gets the layout not applied if the gpo is applied at least (use gpresult /r as the problematic user)
    4. Change the timestamp on the xml-file. If a user already got a layout-xml applied (does not matter when or where), it will only reapply a new layout.xml if the timestamp on the file is newer than the previous one that got applied. You can use (get-item <pathtoxml>).LastWriteTime = Get-Date for this.
    • Tim Hunter's avatar
      Tim Hunter
      Steel Contributor

      dretzer 

       

      Thank you for your help!

       

      1. For the folder and XML file, I have sharing for Everyone set to Read

      2. Not sure how to set the loopback, I read about setting it in GPO but I could not find the option to set loopback. Any help here please?

      3. Here is what it shows when I do gpresult /r

      4. 

      • dretzer's avatar
        dretzer
        Iron Contributor

        The command for the file-timestamp is wrong in your screenshot (you missed a dot and there should be = instead of - 😞

        (Get-Item \\DC01\Shared\IT\Layouts\layout.xml).LastWriteTime = Get-Date

         

        If "Local Group Policy" is the only applied user policy, then missing loopback-processing may be your problem. As the startmenu layout setting is a user-policy, it need to be applied to user-objects, not computer-objects.

        If you want to apply it for users only when logging on to your session hosts, you have to use loopbackup processing. This in effect tells a user account logging on to the computer to process any user-policy in the OU-Path of the computer-object. Be careful if you have more user-policies in this path, as all of them will apply to the user when you enable loopback processing.

        To enable this set in the session-hosts computer-policy object the following:

        Computer Configuration -> Policies -> Administrative Templates -> System -> Group Policy -> Configure user Group Policy loopback processing mode

        Set this to enabled and the mode to "Merge". This will process any user-policy object in the path of your session host for all users logging on to it. The user policies will get merged with your normal user policies. Be careful if you never worked with loopback processing before. Check all GPOs that lie in the OU-Path of your session hosts AND your users for any user-policy-setting you might not be aware of.

         

        To sum it up: Apply a gpo with the above setting to your session host computers. Then apply a gpo with the user setting for the start menu layout xml anywhere in the OU-path of your session hosts. This should apply the gpo to all users logging on to the session host (after running gpupdate /force on the session hosts of course).

        Tim Hunter 

    • Tim Hunter's avatar
      Tim Hunter
      Steel Contributor

      dretzer 

       

      When I do a gpresult /r for the problematic user, it shows that the GPO is applied. So not sure what else to check with this user.

Resources