It might be not that popular with Windows 10, but every company wants a well curated startmenu, rather than the default delivered from Microsoft:
We have multiple Options to configure the startmenu, I’m sure I don’t know them all. But when it comes to Windows 10 and Intune autopilot, we do not really have an option as what I have considered. This blog tries to catch the available options we currently have with Intune and Autopilot.
I have checked the Option to set the startmenu trough the Intune settings:
Customize Windows 10 Start and taskbar with mobile device management (MDM)
But as already outlined on this Microsoft doc article, the startmenu will be locked, or at least partially locked:
And I do not want this behavior, I want to prepopulate the startmenu, but the user can arrange whatever he wants afterwards. Then I thought of a provisioning pack created with the Windows Configuration Designer. But unfortunately there does not exist an native option to deploy such a package through Windows Intune. You can vote on this UserVoice topic if you would like to change that:
Intune Feedback: Native deployment of provisioning packages as deployment type
With this, I was not able to find a working solution, since also the Intune Management Extension kicks in, after the user has logged in, and the startmenu would be already present.
I then have thought of modifying a Windows 10 Image and import the Startmenu Layout modification. So I extracted a current Windows 10 1809 image with dism, and started with the modifications.
I have added the automatic Autopilot registration to the Windows 10 image, and also the startmenu. To configure a modified Windows 10 installation with an automatic Intune Autopilot registration, follow the following article from Microsoft, except the adjustments below:
Windows Autopilot for existing devices
Within this article, it is explained how you gain the required JSON file, which we have to add to the image. If you follow the blog, we just need to copy the JSON file to the following location:
$wim-MountDir\Windows\Provisioning\Autopilot
The folder does not exist and has to be created.
After this is done, we can add the startmenu modification to the extracted wim file. Unfortunately I had no luck with the PowerShell command Import-StartLayout to add the modification to the image. I the simply copied my modified startmenu XML to the following location:
$wim-MountDir\Users\Default\AppData\Local\Microsoft\Windows\Shell\LayoutModification.xml
Make sure that the xml file is named “LayoutModification.xml”.
If this is done, we can commit our changes to the wim file by using dism with /commit (handling of wim files is documented on various blogs like here).
I wanted to have a bootable ISO file, which I can use in VMs as well if I copy them on removable storage. I failed by creating a bootable Windows 10 ISO multiple times, until I found this blog from Ed Tittel (twitter), which perfectly shows an example of creating a bootable ISO:
Create a Custom ISO for Windows 10 — Part 5 of 6
I just copy the example from there, to have it archived for sure:
oscdimg.exe -m -o -u2 -udfver102 -bootdata:2#p0,e,bd:\iso_files\boot\etfsboot.com#pEF,e,bd:\iso_files\efi\microsoft\boot\efisys.bin d:\iso_files d:\Win10PROx64.iso
(again, all credits go to Ed)
Ending up with a bootable ISO file, I tried on a VM, and everything worked fine. The Autopilot Profile kicked in, and also the Startmenu was as expected: