Deploying a Locked Down Start Menu in Windows 10

The tiles in Windows 10’s Start Menu can be rather messy. By default, you get a lot – and they may be things you don’t want there such as News, Sports, Photos, Microsoft Store etc.

Since Windows 10 1607, there’s been a way to control this. Customize Windows 10 Start and taskbar with Group Policy covers how to do this, but there’s some errors and links that don’t work, so I thought it was worth giving a quick overview on how to do this.

Keep in mind that this process locks down the Start Menu tiles completely, users won’t be able to add, remove or change anything to do with tiles.

The first step is to configure the Start Menu tiles how you want them on a computer. You can add, remove, move, resize etc until you’re happy with how it looks.

Once that’s done, you’ll need to export the layout to an XML file. Easily done by opening PowerShell and running Export-StartLayout. This needs the -Path switch, e.g. Export-StartLayout -Path “C:\temp\startmenu.xml”

Copy the resulting startmenu.xml file into a central location that clients will be able to access, or copy it out to each machine through Group Policy Preferences. This XML file will be called in the Group Policy setting “Start Layout”.

The Group Policy setting called “Start Layout” lives in User Configuration or Computer Configuration > Policies> > Administrative Templates >Start Menu and Taskbar. You’ll probably want this at the user level rather than the computer level, but it depends at what layer you want this locked down at. 

If you can’t see this policy at all, then you may need to update your Group Policy templates. Each time a new version of Windows 10 comes out, there’s usually new or updated Group Policies to use. There’s a good step-by-step here if you need help – I’d recommend downloading the templates that match the latest version of Windows 10 you’re managing.

Start Layout in Group Policy

For this policy, you’ll be setting the radio button to Enabled, and setting the Start Layout File value to the path of the XML file that you copied out or placed centrally.

Start Layout Settings

Once that is done, the Group Policy object containing this setting needs to be pointed at the users or computers you want it to apply to, just like any other Group Policy.

The end result is the client then having the same Start Menu tiles configured in the XML file.

You may find that some of the tiles are missing. I’ve seen this happen when the shortcut the XML points to isn’t in the location expected. Here’s an example XML file with just one tile configured for Notepad:

<LayoutModificationTemplate xmlns:defaultlayout="" xmlns:start="" Version="1" xmlns="">
 <LayoutOptions StartTileGroupCellWidth="6" />
 <defaultlayout:StartLayout GroupCellWidth="6">
 <start:Group Name="">
 <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Notepad.lnk" />

When a Tile is added to the Start Menu, if it doesn’t exist already, it will create a .LNK file and uses that for the tile. You may need to copy these off the computer you created the tiles on the in first place too, and copy them out to the same path on the computers you’re pushing this setting to.

You can also manually update or change the XML file yourself, which can sometimes be easier than going through the whole export process again.

One last thought I have on this, is that you can have multiple XML files going to different computers or users based on their requirements – but don’t over complicate things or you’ll be constantly managing tiles!

8 thoughts on “Deploying a Locked Down Start Menu in Windows 10

  1. First of all thank you for providing detailed tutorials as such. We’ve been using XML method to deliver start screen ever since going to Windows 8.1. We are now testing Windows 10 (1709) and using the same XML method to deliver the start menu, and it’s largely working. The problem we are having is that if any application that isn’t currently installed on the station (but is referenced to in the XML) it leaves a unsightly gap in the group. Any ideas to getting around this at all? Many Thanks. Manny

    1. Hi Manny – yes this one is a bit of a problem. Some options: if it’s only one app, put it at the bottom so the blank space doesn’t matter… Or just install the software anyway everywhere if licensing doesn’t matter.

      Otherwise you.could have multiple GPOs deploying different XML files depending on different criteria. The overhead for that one isn’t great, but again if it’s only a few apps that may not be that bad.

      Another idea would be to use PowerShell at startup to generate the XML file based on the shortcuts you give it, and if they exist.

      Personally I just take the approach of giving a few key apps that all computers have, and people can create shortcuts on their desktop, pin apps or just search and their start menu most used list will do it’s job.

      1. Hi Adam, thank for getting back to me. Unfortunately we look after 4 secondary schools in the UK and as you can imagine the number of (and different) applications that we have to deliver and make sure only the correct ones are installed on each site (for the purpose of licensing and relevance).

        The PowerShell method you mentioned, is there a working script that we could try please? Thank you again.

  2. Jesus christ Microsoft sucks. What a monstrous waste of time and of a life,doing shit like this every fucking time they fuck up the operating system and the User interface, which is once a week. Fighting Microsoft is a job for not one person alone with his/ her machine, but an army … a mass multinational corporation of anti microsoft defenders. A home appliance has become an entire life enveloping waste of human potentialities. It’s a tragedy beyond my powers of expression. Can you imagine if human beings spent all this time writing, reading, painting, making music, creating caring environments for others, rather than masturbating the digits of Microsoft’s latest unleashing of life controlling debacle on millions and millions of user/ victims? Melt the ice caps expending energy for this… Really humanity is over, and it is this sort of garbage that has ended it.
    I do thank this blogger for your valiant efforts to help us all. It’s a good fight in a way, trying to undo the weekly life damage of Microsoft to millions of persons who just want to enjoy their time, get their work done, and don’t need even a small fraction of the garbage that this corporation inflicts upon them.

  3. Hello Adam,

    We are using this method to clear out all start menu items. Our XML is pretty empty as we want no tiles in the start menu. Once the user signs in for the first time one single tile is being placed on the start menu. If we remove the user from the OU to one with no policy’s applied, gpupdate /force , reboot and log in the junk tile is removed. Move the user back, gpupdate /force reboot and it stays gone. Any ideas on what to look at for something like this.


    1. Hi Brandon,
      I’ve seen issues with trying to deploy no tiles before, but it was more that an XML with no tiles was just ignored rather than deploying a single one. Also seen issues in different versions of Windows 10 handling it differently – so it could be worth testing this on 1903 in case it’s different again, or actually fixed. Beyond that, log a case and make Microsoft work it out, but they might come back just saying that’s how it works :| If you do find anything please let us know!

  4. Hi,

    This works fine! (we are using partial Start Screen layout) BUT if we do any changes to the XML later, it breaks\destroyeres the Start Menu for existing users\profiles. Only the personal pinned programs are left.. The locked down part is gone!

    For new user\profiles the changed XML works fine.

    Any suggestions?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.