Earlier this week Microsoft released Windows 11. So it’s time to write my first blog post related to the latest Windows version.
The out of the box start menu on Windows 11, isn’t as bad as seen on Windows 10 (at least the Enterprise version), but still, there might be a reason to pre-configure the start menu.
For Windows 10 I wrote a post on how we can configure a default Start menu layout, and still allowing the user to change the start menu to their needs. It involved exporting a start menu configuration and by using a script, we imported the configuration to Windows.
In Windows 11, we have a similar approach of exporting a configuration file (but now to a JSON file) as Microsoft described in this article. The big difference is, that we don’t have to use a script to import the exported start menu, but we can use an MDM policy CSP to set the start menu layout. At the moment of writing, we need to use a Custom configuration profile in Microsoft Intune, to configure the start menu. I assume this setting will make it to the Intune portal in the (near) future.
Let’s see how we can get our JSON file and deploy it using Intune.
Start menu areas
The start menu of Windows 11 consists of three areas: Pinned, All apps, and Recommended.
We can only configure the Pinned area with the JSON and the ConfigureStartPins setting.
The All apps section can’t be configured with the JSON. For the Recommended section we can only use the HideRecentJumplists setting to do some configuration.
Create the JSON file
The easiest way to get the JSON file is to configure the Start menu on an existing device and export the layout as we used to do for Windows 10.
Below is an example of the command we need to use to export the existing layout to a JSON file:
Export-StartLayout -Path "C:\Temp\LayoutModification.json"
The JSON file can be viewed (and edited) in any text editor and looks like below.
Deploy the Pinned configuration
To deploy the JSON to our Windows 11 devices we can use a Custom configuration profile with Intune.
- Sign in to the Microsoft Endpoint Manager admin center
- Browse to Devices, Windows, Configuration profiles
- Click +Create profile
- Select Windows 10 and later as Platform
- Select Templates as Profile type
- Select Custom
- Click Create
- Give the profile a Name
- Enter a Description (Optional)
- Click Next
- On the settings tab click Add
- Give the Row a Name
- Fill in the OMA-URI:
./Vendor/MSFT/Policy/Config/Start/ConfigureStartPins - Data type: String
- Value: Enter the content from the previously created JSON file
Save the configuration profile.
Deploy the configuration profile to your Windows 11 devices preferably during Autopilot enrollment, so you’re sure the setting is applied before the user is signed in for the first time.
End result
Besides the earlier mentioned article, there isn’t much information yet about this configuration setting, below is my experience, not based on any documentation.
I applied the setting to new devices (during enrollment) and existing devices. The policy-setting seems to have no impact on existing user profiles. For users who signed in the first time to a device on which the setting is already applied, they’re shown the pre-configured start menu layout as expected.
And the end-user is still able to change the layout of the Pinned section of the start menu.
Thanks for reading and let me know what your experience is with this new setting!
4 Comments
Thanks for the article it is really helpful, we have configured the start menu pins as you described above, however, if a user pins a new item, it seems to get overwritten when the device checks into Intune again, and goes back to the default. Any ideas on a way to make this apply once but not re-apply, so users can still add additional pins?
I’m seeing the same thing. I wonder if it’s due to an update of some kind? Win 11 22H2 Build 22621.819 on my device.
Ever found out how to fix this? Having the same problem…
I had a hint from some lovely microsoft engineer and created a W32 app that sent the following registry using powershell: cleared all the junk clickbait and allowed users to pin stuff they needed afterwards.
—————————————————
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Start]
“ConfigureStartPins”=”{ \”pinnedList\”: [ { \”desktopAppId\”: \”MSEdge\” }, { \”desktopAppId\”: \”Microsoft.Office.OUTLOOK.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.Office.WINWORD.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.Office.EXCEL.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.Office.POWERPNT.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.WindowsCalculator_8wekyb3d8bbwe!App\” }, { \”desktopAppId\”: \”Microsoft.Windows.Explorer\” }, { \”desktopAppId\”: \”com.squirrel.Teams.Teams\” } ] }”
“ConfigureStartPins_ProviderSet”=dword:00000001
“ConfigureStartPins_WinningProvider”=”B5292708-1619-419B-9923-E5D9F3925E71”
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\providers]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\providers\B5292708-1619-419B-9923-E5D9F3925E71]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\providers\B5292708-1619-419B-9923-E5D9F3925E71\default]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\providers\B5292708-1619-419B-9923-E5D9F3925E71\default\Device]
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\providers\B5292708-1619-419B-9923-E5D9F3925E71\default\Device\Start]
“ConfigureStartPins”=”{ \”pinnedList\”: [ { \”desktopAppId\”: \”MSEdge\” }, { \”desktopAppId\”: \”Microsoft.Office.OUTLOOK.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.Office.WINWORD.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.Office.EXCEL.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.Office.POWERPNT.EXE.15\” }, { \”desktopAppId\”: \”Microsoft.WindowsCalculator_8wekyb3d8bbwe!App\” }, { \”desktopAppId\”: \”Microsoft.Windows.Explorer\” }, { \”desktopAppId\”: \”com.squirrel.Teams.Teams\” } ] }”
“ConfigureStartPins_LastWrite”=dword:00000001