Customize Windows 10 Start menu with Configuration Manager (MDM) or Microsoft Intune #OMA-URI


Undoubtedly you ever been asked the question to customize the Windows 10 start menu? Your response might be like “Sure, I’ll fix this by group policy, imaging (task sequence) or last resort by manually importing a .xml file.” All – almost all – valid options in a fully managed environment where your clients are domain joined (Active Directory) and/or fully managed by Configuration Manager or MDT. But hey what about your non-domain joined Windows 10 devices which are outside the company and managed by Microsoft Intune (MDM)? Well OMA-URI is your best friend! Smile

Configuration Service Provider (CSP)

In Windows 10 Enterprise and Windows 10 Education, you can use a mobile device management (MDM) policy to deploy a customized Start layout to users. No reimaging is required, and the Start 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. With Microsoft Intune (MDM), you define the Start layout using an OMA-URI setting, which is based on the Policy configuration service provider (CSP).

How Start menu 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.
  • In Configuration Manager/Microsoft Intune, 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).

Start/StartLayout

Allows you to override the default Start layout and prevents the user from changing it. This policy is described in Start/StartLayout Examples later in this topic.

Important  This node is set on a per-user basis and must be accessed using the following paths:

./User/Vendor/MSFT/Policy/Config/Start/StartLayout to configure the policy.

./User/Vendor/MSFT/Policy/Result/Start/StartLayout to query the current value of the policy.

Create a policy for your customized Start layout

The example below shows my default Windows 10 start menu layout.

image

The easiest way to generate a layout is to set the Start layout on a PC, and then run the PowerShell cmdlet Export-StartLayout.

> Export-StartLayout -path c:\users\<you>\desktop\startlayout.xml

The XML output below is an export of my custom Windows 10 Starte menu layout:

<LayoutModificationTemplate Version=”1″ xmlns=”http://schemas.microsoft.com/Start/2014/LayoutModification”>
<LayoutOptions StartTileGroupCellWidth=”8″ />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth=”8″ 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=”4×2″ Column=”0″ Row=”0″ AppUserModelID=”microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar” />
<start:Tile Size=”4×2″ Column=”4″ Row=”0″ AppUserModelID=”microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.mail” />
<start:Tile Size=”4×2″ Column=”0″ Row=”2″ AppUserModelID=”Microsoft.MicrosoftEdge_8wekyb3d8bbwe!MicrosoftEdge” />
<start:Tile Size=”2×2″ Column=”4″ Row=”2″ AppUserModelID=”Microsoft.People_8wekyb3d8bbwe!x4c7a3b7dy2188y46d4ya362y19ac5a5805e5x” />
<start:Tile Size=”2×2″ Column=”6″ Row=”2″ AppUserModelID=”Microsoft.Windows.Photos_8wekyb3d8bbwe!App” />
<start:Tile Size=”4×2″ Column=”0″ Row=”4″ AppUserModelID=”Microsoft.BingWeather_8wekyb3d8bbwe!App” />
<start:Tile Size=”2×2″ Column=”4″ Row=”4″ AppUserModelID=”Microsoft.WindowsPhone_8wekyb3d8bbwe!CompanionApp.App” />
<start:Tile Size=”2×2″ Column=”0″ Row=”6″ AppUserModelID=”Microsoft.Messaging_8wekyb3d8bbwe!App” />
<start:Tile Size=”4×2″ Column=”2″ Row=”6″ AppUserModelID=”Microsoft.WindowsStore_8wekyb3d8bbwe!App” />
<start:Tile Size=”2×2″ Column=”6″ Row=”6″ AppUserModelID=”9E2F88E3.Twitter_wgeqdkkx372wm!x554f661dyd360y462cy8743yf8a99b7d41dbx” />
<start:Tile Size=”2×2″ Column=”6″ Row=”4″ AppUserModelID=”Flipboard.Flipboard_3f5azkryzdbc4!App” />
</start:Group>
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>

New Windows 10 Start menu layout

The XML example below will be our new custom Windows 10 Starte menu layout:

<LayoutModificationTemplate Version=”1″ xmlns=”http://schemas.microsoft.com/Start/2014/LayoutModification”>
<LayoutOptions StartTileGroupCellWidth=”8″ />
<DefaultLayoutOverride>
<StartLayoutCollection>
<defaultlayout:StartLayout GroupCellWidth=”8″ xmlns:defaultlayout=”http://schemas.microsoft.com/Start/2014/FullDefaultLayout”>
<start:Group Name=”Productivity” xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”>
<start:DesktopApplicationTile Size=”2×2″ Column=”2″ Row=”0″ DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Outlook 2016.lnk” />
<start:DesktopApplicationTile Size=”2×2″ Column=”2″ Row=”2″ DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Visio 2016.lnk” />
<start:DesktopApplicationTile Size=”2×2″ Column=”4″ Row=”2″ DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Word 2016.lnk” />
<start:DesktopApplicationTile Size=”2×2″ Column=”4″ Row=”0″ DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\PowerPoint 2016.lnk” />
<start:DesktopApplicationTile Size=”2×2″ Column=”0″ Row=”0″ DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Excel 2016.lnk” />
<start:DesktopApplicationTile Size=”2×2″ Column=”0″ Row=”2″ DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\OneNote 2016.lnk” />
</start:Group>
<start:Group Name=”Office Mobile” xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”>
<start:Tile Size=”2×2″ Column=”0″ Row=”2″ AppUserModelID=”Microsoft.Office.OneNote_8wekyb3d8bbwe!microsoft.onenoteim” />
<start:Tile Size=”2×2″ Column=”2″ Row=”2″ AppUserModelID=”Microsoft.Office.Sway_8wekyb3d8bbwe!Microsoft.Sway” />
<start:Tile Size=”2×2″ Column=”0″ Row=”0″ AppUserModelID=”Microsoft.Office.Excel_8wekyb3d8bbwe!microsoft.excel” />
<start:Tile Size=”2×2″ Column=”4″ Row=”2″ AppUserModelID=”Microsoft.Office.Word_8wekyb3d8bbwe!microsoft.word” />
<start:Tile Size=”2×2″ Column=”2″ Row=”0″ AppUserModelID=”Microsoft.Office.PowerPoint_8wekyb3d8bbwe!microsoft.pptim” />
</start:Group>
<start:Group Name=”Tools” xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”>
<start:Tile Size=”2×2″ Column=”0″ Row=”0″ AppUserModelID=”Microsoft.CompanyPortal_8wekyb3d8bbwe!App” />
<start:Tile Size=”2×2″ Column=”2″ Row=”0″ AppUserModelID=”Microsoft.MicrosoftPowerBIForWindows_8wekyb3d8bbwe!Microsoft.MicrosoftPowerBIForWindows” />
<start:Tile Size=”2×2″ Column=”4″ Row=”0″ AppUserModelID=”Microsoft.RemoteDesktop_8wekyb3d8bbwe!Microsoft.RemoteDesktopClient” />
</start:Group>
</defaultlayout:StartLayout>
</StartLayoutCollection>
</DefaultLayoutOverride>
</LayoutModificationTemplate>

Note The applications in the XML should be available on your target device(s) to get the custom start menu layout presented as intend.

Configuration Manager (hybrid)

  1. In the Configuration Manager administration console, click Asset and Compliance> Compliance Settings > Configuration Items> Create Configuration Item.
  2. Enter a name (mandatory) and description (optional) for the policy.
  3. Select Settings for devices managed w/o the Configuration Manager Client (MDM), choose Windows 8.1 and Windows 10 policy.
  4. Select as supported platform Windows 10 (64-bit or 32-bit)  (what’s applicable in your situation)
  5. Click Configure additional settings that are not in the default setting groups.
  6. Click Add to add additional mobile device settings
  7. Select Create setting to create out custom start menu layout setting.imageSetting 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

  8. Select Windows 10 Custom Start Menu layout mobile device setting we created in the previous step.image
  9. Paste the custom XML start menu layout we create previouslyimage
  10. Click OK to save the setting and return to the Create Configuration Item wizard.
  11. Click Save Policy.

Now we created a Configuration Item holding the custom Windows 10 start menu layout, you’ve to deploy and target to the collection which holds your Microsoft Intune users. Deployment of Configuration Items using Configuration Baseline is beyond the scope of this blog post. See How to deploy configuration baselines in System Center Configuration Manager

Microsoft Intune (native)

  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.

    image
    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 custom XML start menu layout we create previously

  6. Click OK to save the setting and return to the Create Policy page.
  7. Click Save Policy.

After creating the Custom Configuration (Windows 10 Desktop and Mobile and later) including the custom start menu layout just deploy the policy to the according audience and looking forward to the end results!

End Result

image

To get a better understanding of the start menu schema, check this website. It covers items like Tiles, DesktopApplicationTiles, StartLayoutCollection, StartLayout, SecondaryTiles and AppUserModelID.

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. 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.

Note

Only supported in Windows 10 Enterprise & Windows 10 Education

Start layout can only be applied to a device using the same architecture (32-bit or 64-bit) as the device on which Start layout was created.

Partial Start layout is only supported on Windows 10, version 1511 and later.

Sources

Customize Windows 10 Start with mobile device management (MDM)

Manage Windows 10 Start layout options

Start/StartLayout Examples

Advertisements

2 thoughts on “Customize Windows 10 Start menu with Configuration Manager (MDM) or Microsoft Intune #OMA-URI

  1. Jim

    Works great! My policy applies before all my applications are deployed. The start layout will not update automatically so I need to change something in the xml to get the start layout updated with the apps I deploy with intune. Am I doing something wrong here?

    1. Hi Jim, customizing start menu’s is still a complex and error prone process with some limitations.

      Some gotchas, special thanks to Paul Huijbregts (MSFT): For MDM Policy, need to escape all XML markup characters. This seems easy but will break stuff! If a pinned App does not exist (yet) on the target machine, it won’t show up.

      https://technet.microsoft.com/en-us/itpro/windows/manage/customize-windows-10-start-screens-by-using-mobile-device-management

      Thanks, Ronny

Leave a Reply

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

WordPress.com Logo

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

Twitter picture

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

Facebook photo

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

Google+ photo

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

Connecting to %s