Customising the Windows 10 Taskbar

I wrote a series of guides about basic configuration of MDT and how you could customise the Start Menu, and with some further trickery, the Taskbar. I was never particularly happy with that section as it involved using a script to edit the registry after a user had logged in for the first time. Which, when talking about automation or consistency leaves a bit to be desired.

Recently I have fielded a few support calls where Windows 10 users have received a new device and started using Windows Mail, instead of Outlook even though that was installed and configured on their machines. The problem here is that Windows Mail is on the taskbar by default, as well as being on the Start Menu with a nice live tile saying ‘use me for your email’.

There is a lot of documentation around on the issue, but i have solved this by using the LayoutModification.xml file mentioned in the link above, which, following Windows 10 1607 (yes i am slow in finding this out) also supports Taskbar customisation.

So, how do we do this? Well we still need to customise our Start Menu the way we want it, then use the Export-StartLayout command.

This gives us a basic LayoutModification.xml file to start with.


Which should give us a Start Menu that looks like this:


To that XML file we add a new section, that contains our Taskbar customisation.

This should be placed inside the Section of your XML file. Adding applications is as easy as adding a new line and pointing the DesktopApplicationLinkPath to the Start Menu shortcut lnk, but remember to make sure the application exists on the target PC or the user will have no icon, or, on the Start Menu, an empty space.

The above example replaces the default icons with Edge, File Explorer, Google Chrome, Excel, Outlook, Word, PowerPoint and OneNote.

Edit – Image only as WordPress has chewed up the XML Code.

The full file would look like this:


This would give us a Taskbar that looks like this:


Once you have edited your XML file, you need to place it in c:\users\default\local\appdata\microsoft\windows\shell replacing any existing LayoutModification.xml file. The next time a user logs on for the first time, their start menu and Taskbar will be built using this file. This will not affect existing user profiles on the computer.

Using this technique you can remove the default shortcuts to Windows Mail, and the Microsoft App Store without having to fully remove the apps from the computer.

How do you get that LayoutModification.xml file out onto your computers? Well you have many different options here of course, either add it in as part of your MDT build, or, use a GPO to add that file to any domain joined computer. If you use Group Policy Preferences to copy the file to the PC, rather than using the Policy option to specify a layout file, the user will still have the ability to change the layout.

Why not go one further and then set a GPO to assign a Default File Associations file, to set the users default browser, default mail client and PDF viewer?

On your deployment PC customise the default applications as you want them, then use DISM to export those settings to an XML file. You can then use another GPO to import those settings, or again add that into your MDT build.

About Robert Pearman
Robert Pearman is a UK based Small Business Server enthusiast. He has been working within the SMB IT Industry for what feels like forever. Robert likes Piña colada and taking walks in the rain, on occasion he also enjoys writing about Small Business Technology like Windows Server Essentials or more recently writing PowerShell Scripts. If you're in trouble, and you can find him, maybe you can ask him a question.

2 Responses to Customising the Windows 10 Taskbar

  1. Patrick says:

    Hi Robert,

    We have had this implemented as well, we have a group policy to push out the XML file from network share folder to the c:\users\default\local\appdata\microsoft\windows\shell

    This method worked very well with new machine and when the user log on to the computer for the very first time, until recently we need to make some changes to the XML file. For existing machines and users have been created with local profile, it doesn’t make any changes even I manually copied the updated version of XML into c:\users\default\local\appdata\microsoft\windows\shell (default) AND c:\users\XXXXX\local\appdata\microsoft\windows\shell (a particular user). Rebooted the computer will not help either, the only way to get it to work so far is to delete the user local profile with admin account logon, then get the end user to sign in and re-create a new profile.

    We are running Win10-Pro-1809, just wondering if there’s any suggestions from you.


    • To modify users existing config you would need to, I believe run the import-startmenulayout cmdlet which you may be able to run ‘at login’ as a scheduled task for each user.

Leave a reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

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

%d bloggers like this: