How to customize Windows 10 Start Menu

Windows 10 has a different way to customize Start Menu than Windows 7, it will involve power shell and xml file.

In this article I wil explain how windows 10 Start Menu works, how can be changed, export the configuration and apply this configuration during the OSD task sequence.

Starting with basics, the default Start Menu template is located here:

C:\Users\%username%\AppData\Local\Microsoft\Windows\Shell\DefaultLayouts.xml

To modify the start menu we use file called LayoutModification.xml that should reside in the same directory. This file can be used in many ways for OEM’s to add icons to the Start Menu or for us IT-Pro to override the default Start Menu. More information on how to use these files can be found here on MSDN: https://msdn.microsoft.com/en-us/library/windows/hardware/mt171092(v=vs.85).aspx 

Create a custom Windows 10 Start Menu

By default in windows you will have something similar with this:

Windows 10 Start Menu Default

This is not acceptable for a corporate standard. To configure the start menu right click on each icons and removed. After everything is clear take you favourite apps, right click and add to start menu. Arranged them in you favourite order, you can create multiple groups in start menu. In my example is just one. Once you are happy we will go to save this configuration.

Windows 10 Start Menu Custom

Save Windows 10 Start Menu configuration

To export windows 10 configuration we will use power shell and xml files.

Start power shell:

Export-Startlayout –path C:\Temp\Startmenu.xml   

Now we have a configuration saved in a xml file, something similar with this:

start-menu-xml

Using this configuration we will override  the default start menu defined in the DefaultLayouts.xml in Windows 10

Import Windows 10 Start Menu layout with power shell

Once we have a custom configuration we will use power shell to import and override the default one. Note, this it will apply only to new users logged on this computer, existing profile are not affected.

The power shell command is Import-StartLayout –LayoutPath C:\Temp\Startmenu.xml -MountPath C:\

After the command is successfully completed the Layoutmodification.xml file is created here:

C:\Users\Default\AppData\Local\Microsoft\Windows\Shell\Layoutmodification.xml

Applying the Windows 10 Start Menu during OS deployment

To apply the layout we need:

  • Create script who will apply the layout, in my case IE 11 was required so i was forced to add a new line just to copy IE shorcut to be avilble in start menu

        xcopy /y "Internet Explorer.lnk" "C:\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories"
        Import-StartLayout -LayoutPath $PSScriptRoot\OIR_StartMenu.xml -MountPath C:\

  • Create a package in SCCM, use the option This package contains source files where you put the ps1 script the xml file and in my case the shortcut

start-menu-package

  • Add Run a Powershell script command in your TS, point to the start menu package and point to the ps1 script, don't forgot to choose Bypass for execution policy

start-menu-TS

Looking in the TS logs status, all good :)

start-menu-TS-log

Same in the freshly new deployed computer, so happy days :)

start-menu-log

start-menu-log

I wish you happy SCCM-ing