Configuring the Windows 11 Start Menu Layout and Taskbar with Intune

The Windows 11 Start Menu Layout is one of the most noticeable features that is different from its Windows 10 predecessor, so therefore it would also make sense that configurations set in in Intune for the Windows 10 Start layout will not work on Windows 11

Microsoft have released some information on how to configure the Windows 11 start layout using Intune, so I thought that I would detail what I have done with configuring both the Windows 11 Start Layout and Windows 11 Taskbar using Intune.

Windows 11 Start Layout

To create a Windows 11 Start Layout and deploy using Intune, you will need to configure your pinned apps in the start layout on a Windows 11 device and export the layout to a json file using the following PowerShell command:

Export-StartLayout -Path "C:\Layout\W11StartLayout.json"

For example, my exported configuration is as follows:


Next, I created the following Custom Configuration Profile in Intune

Profile nameWin 11 – Custom – Policy CSP – Start – ConfigureStartPins
Profile DescriptionConfigures Windows 11 Pinned icons

OMA-URI Settings

Data TypeString
ValueThe text of the json file extracted

The result is a Windows 11 Start Menu Layout configured like this:

Windows 11 Taskbar

The Windows 11 Start Menu Layout Configuration Profile will only configure the Start Menu Layout, so if you want to also configure the Windows 11 Taskbar, you will need to create a separate Configuration Profile to do this.

The method is similar to how it was done with Windows 10, just with the Start Layout details removed from the XLM (and a few other changes).

For this example, I will want to retain the same taskbar icons from my Windows 10 Configuration. My Windows 10 Start Layout XML is as follows:

  <LayoutOptions StartTileGroupCellWidth="6" />
  <DefaultLayoutOverride LayoutCustomizationRestrictionType="OnlySpecifiedGroups">
      <defaultlayout:StartLayout GroupCellWidth="6">
        <start:Group Name="PJW MVP Lab">
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationID="MSEdge" />
          <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.CompanyPortal_8wekyb3d8bbwe!App" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationID="Microsoft.Windows.Explorer" />
        <start:Group Name="Microsoft Office">
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="Microsoft.Office.OUTLOOK.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="2" DesktopApplicationID="Microsoft.Office.ONENOTE.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationID="Microsoft.Office.WINWORD.EXE.15" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationID="com.squirrel.Teams.Teams" />
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="2" DesktopApplicationID="Microsoft.Office.POWERPNT.EXE.15" />
          <start:Tile Size="2x2" Column="0" Row="4" AppUserModelID="Microsoft.MicrosoftOfficeHub_8wekyb3d8bbwe!Microsoft.MicrosoftOfficeHub" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationID="Microsoft.Office.EXCEL.EXE.15" />
    <CustomTaskbarLayoutCollection PinListPlacement="Replace">
        <taskbar:DesktopApp DesktopApplicationID="Microsoft.Windows.Explorer"/>
        <taskbar:DesktopApp DesktopApplicationID="MSEdge"/>
        <taskbar:DesktopApp DesktopApplicationID="Microsoft.Office.OUTLOOK.EXE.15"/>
        <taskbar:DesktopApp DesktopApplicationID="Microsoft.Office.EXCEL.EXE.15"/>
        <taskbar:DesktopApp DesktopApplicationID="Microsoft.Office.POWERPNT.EXE.15"/>
        <taskbar:DesktopApp DesktopApplicationID="Microsoft.Office.WINWORD.EXE.15"/>
        <taskbar:DesktopApp DesktopApplicationID="Microsoft.Office.ONENOTE.EXE.15"/>

You can modify and remove sections of the existing XML, but I actually found it easier to get the supplied XML from the Microsoft Docs site here and make the required changes.

I have used the Desktop Application Link Path (the local path to the app) with system variables, but the Application User Model ID can also be used if pinning UWP apps.

My Windows 11 Taskbar is as follows:

<LayoutModificationTemplate xmlns:defaultlayout="" 
Version="1" xmlns="">

<CustomTaskbarLayoutCollection PinListPlacement="Replace">
        <taskbar:DesktopApp DesktopApplicationLinkPath="%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft Edge.lnk" />
        <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\File Explorer.lnk" />
        <taskbar:DesktopApp DesktopApplicationLinkPath="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Outlook.lnk" />

I have created the following Custom Configuration Profile in Intune using the XML text above.

Profile nameWin 11 – Device Restrictions – Start – Windows 11 Taskbar
Profile DescriptionConfigures Taskbar for W11 Devices

The result is this Windows 11 Taskbar:


A few weeks ago, I tested these Configuration Profiles by deploying them to an Azure AD Dynamic group that queried for Windows 11 devices.  However, I found that it took a very long time for these configurations to apply after an in-place upgrade from Windows 10. 

After doing some recent testing with Intune Filters, I decided to test deploying these new profiles to the same Azure AD group containing all my managed Windows devices regardless of version and use Intune filters.

I modified my existing Windows 10 Start Configuration Profile to use the Windows 10 Devices filter

Next, I deployed my new Windows 11 Start Menu Layout and Windows 11 Taskbar configuration profiles to the same group, but used the Windows 11 Devices filter

To test how this worked, I used a Windows 10 20H2 device.

Looking at the Filter Evaluation of this device, I can see that the profile Win 10 – Device Restrictions – Start matches the Windows 10 Devices filter and is applied to the device

The two Windows 11 profiles Win 11 – Custom – Policy CSP – Start – ConfigureStartPins and Win 11 – Device Restriction – Start – Windows 11 Taskbar are also both assigned to the device, but the filter evaluation does not match so the two profiles are not applied.

I then upgraded the device to Windows 11

I noted that the newer Windows 11 configuration profiles did not apply immediately after the in-place upgrade when logging on, however, they did apply a lot faster (the first time the device synced with Intune which happened not long after logging on) than when I used separate Azure AD Dynamic Device group, which required both the Azure AD Group to update its membership and the device to sync with Intune.

I then checked the Filter Evaluation on the upgraded device. I can see that the profile Win 10 – Device Restrictions – Start no longer matches the filter and is not applied to the device.

The two Windows 11 profiles Win 11 – Custom – Policy CSP – Start – ConfigureStartPins and Win 11 – Device Restriction – Start – Windows 11 Taskbar now match the Windows 11 Devices filter and are both applied to the device.

It would be better if somehow all these profiles and Intune filters could be evaluated somewhere during the in-place upgrade phase so that they are active when the user logs on to Windows 11 for the first time, but for now, this will have to do.

Microsoft have some pretty good documentation and more details on the Windows 11 start menu layout here, while more details on the Windows 11 taskbar can be found here



  1. Hi, This a great help, but you don’t put in the OMA-URI string for the Taskbar settings. How do I find this as I would like to know for future polices.


    1. Hi James, Thanks for the comment. The Taskbar for Windows 11 is configured via a Device Restriction configuration profile. It is the same as where previously the Windows 10 Start menu and task bar would have been configured using an XML. Because Windows 11 has a new start menu, this has now been split.

      So in a nutshell:
      Windows 10 = XML in config profile for both Start Menu and Taskbar.
      Windows 11 = XML in config profile for Taskbar only and custom CSP using OMA-URI for configuring the Start menu.


      1. Hi Paul, Thank you for coming back to me appreciate the help and the guides you have done on your website, they are a big help. I have looked at the device restriction policy and haven’t been able to locate where I would put my .xml script to reset the taskbar pins. I can see the option for Start – Start Menu layout, but nothing for taskbar. I have tried my .xml script in there and it hasn’t worked.


      2. James

        Thanks for the update Paul. Where do you load the XML file in the Device Restriction Policy? I can only see a box for the start menu and when I put my XML in there it doesn’t change the taskbar.


      3. Hi James, Sorry for the delay getting back to you. Just checking – Have you edited your XML to remove the start menu section. For Win 11, the XML only needs the Taskbar section. Also note some other small changes like now is . Happy to have a look at your XML if you feel comfortable sharing too (via email or message me on LinkedIn if that works for you). Paul.


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