Customize Windows 10 Start and taskbar with mobile device management (MDM)

Applies to

  • Windows 10

Looking for consumer information? Customize the Start menu

In Windows 10 Pro, Windows 10 Enterprise, and Windows 10 Education, you can use a mobile device management (MDM) policy to deploy a customized Start and taskbar layout to users. No reimaging is required, and the layout can be updated simply by overwriting the .xml file that contains the layout. This enables you to customize Start layouts for different departments or organizations, with minimal management overhead.

Note

Support for applying a customized taskbar using MDM is added in Windows 10, version 1703.

Before you begin: Customize and export Start layout for desktop editions.

Warning

When a full Start layout is applied with this method, the users cannot pin, unpin, or uninstall apps from Start. Users can view and open all apps in the All Apps view, but they cannot pin any apps to Start. When a partial Start layout is applied, the contents of the specified tile groups cannot be changed, but users can move those groups, and can also create and customize their own groups.

How Start layout control works

Two features enable Start layout control:

  • The Export-StartLayout cmdlet in Windows PowerShell exports a description of the current Start layout in .xml file format.

    Note

    To import the layout of Start to a mounted Windows image, use the Import-StartLayout cmdlet.

  • In MDM, you set the path to the .xml file that defines the Start layout using an OMA-URI setting, which is based on the Policy configuration service provider (CSP).

Create a policy for your customized Start layout

This example uses Microsoft Intune to configure an MDM policy that applies a customized Start layout. See the documentation for your MDM solution for help in applying the policy.

  1. In the Start layout file created when you ran Export-StartLayout, replace markup characters with escape characters, and save the file. (You can replace the characters manually or use an online tool.)

    Example of a layout file produced by Export-StartLayout:

    XML
    <LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
      <DefaultLayoutOverride>
        <StartLayoutCollection>
          <defaultlayout:StartLayout GroupCellWidth="6" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout">
            <start:Group Name="Life at a glance" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
              <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge" />
              <start:Tile Size="2x2" Column="4" Row="0" AppUserModelID="Microsoft.Windows.Cortana_cw5n1h2txyewy!CortanaUI" />
              <start:Tile Size="2x2" Column="2" Row="0" AppUserModelID="Microsoft.BingWeather_8wekyb3d8bbwe!App" />
            </start:Group>        
          </defaultlayout:StartLayout>
        </StartLayoutCollection>
      </DefaultLayoutOverride>
    </LayoutModificationTemplate>

    Example of the same layout file with escape characters replacing the markup characters:

    &amp;lt;wdcml:p xmlns:wdcml=&amp;quot;http://microsoft.com/wdcml&amp;quot;&amp;gt;Example of a layout file produced by Export-StartLayout:&amp;lt;/wdcml:p&amp;gt;&amp;lt;wdcml:snippet xmlns:wdcml=&amp;quot;http://microsoft.com/wdcml&amp;quot;&amp;gt;&amp;lt;![CDATA[&amp;lt;LayoutModificationTemplate Version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://schemas.microsoft.com/Start/2014/LayoutModification&amp;quot;&amp;gt;
      &amp;lt;DefaultLayoutOverride&amp;gt;
        &amp;lt;StartLayoutCollection&amp;gt;
          &amp;lt;defaultlayout:StartLayout GroupCellWidth=&amp;quot;6&amp;quot; xmlns:defaultlayout=&amp;quot;http://schemas.microsoft.com/Start/2014/FullDefaultLayout&amp;quot;&amp;gt;
            &amp;lt;start:Group Name=&amp;quot;Life at a glance&amp;quot; xmlns:start=&amp;quot;http://schemas.microsoft.com/Start/2014/StartLayout&amp;quot;&amp;gt;
              &amp;lt;start:Tile Size=&amp;quot;2x2&amp;quot; Column=&amp;quot;0&amp;quot; Row=&amp;quot;0&amp;quot; AppUserModelID=&amp;quot;Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge&amp;quot; /&amp;gt;
              &amp;lt;start:Tile Size=&amp;quot;2x2&amp;quot; Column=&amp;quot;4&amp;quot; Row=&amp;quot;0&amp;quot; AppUserModelID=&amp;quot;Microsoft.Windows.Cortana_cw5n1h2txyewy!CortanaUI&amp;quot; /&amp;gt;
              &amp;lt;start:Tile Size=&amp;quot;2x2&amp;quot; Column=&amp;quot;2&amp;quot; Row=&amp;quot;0&amp;quot; AppUserModelID=&amp;quot;Microsoft.BingWeather_8wekyb3d8bbwe!App&amp;quot; /&amp;gt;
            &amp;lt;/start:Group&amp;gt;        
          &amp;lt;/defaultlayout:StartLayout&amp;gt;
        &amp;lt;/StartLayoutCollection&amp;gt;
      &amp;lt;/DefaultLayoutOverride&amp;gt;
    &amp;lt;/LayoutModificationTemplate&amp;gt;]]&amp;gt;&amp;lt;/wdcml:snippet&amp;gt;
  1. In the Microsoft Intune administration console, click Policy > Add Policy.

  2. Under Windows, choose a Custom Configuration (Windows 10 Desktop and Mobile and later) policy.

  3. Enter a name (mandatory) and description (optional) for the policy.

  4. In the OMA-URI Settings section, click Add.

  5. In Add or Edit OMA-URI Setting, enter the following information.

    Item Information
    Setting name Enter a unique name for the OMA-URI setting to help you identify it in the list of settings.
    Setting description Provide a description that gives an overview of the setting and other relevant information to help you locate it.
    Data type String
    OMA-URI (case sensitive) ./User/Vendor/MSFT/Policy/Config/Start/StartLayout
    Value Paste the contents of the Start layout .xml file that you created.
  6. Click OK to save the setting and return to the Create Policy page.

  7. Click Save Policy.