This article explains how to use BigFix to create a custom start menu as part of the imaging process. With this, you can paste an XML file into the action script. BigFix runs a DISM command to import the start menu so it gets added for default users.
You can also do this by using a group policy though there are a few limitations with that approach. If you force a start menu through a group policy, the user cannot make custom changes to their start menu. This severely limits them and does not allow them to pin their frequently used programs and so on once they start using the PC. It is better to provide the end user with a custom start menu to start and allow them to make custom changes later.
- Make changes to the start menu as needed.
- Open Powershell and export your start menu layout by running the following command: Export-Startlayout –path C:\Windows\Temp\Startmenu.xml
After running the command, browse to C:\Windows\Temp and locate the Startmenu.xml file.
- Save the file.
- You can either download a template I have uploaded on Bigfix.me or create your own task.
To create your own task, do the following steps:
- In BigFix Console, go to Tools > Create New Task.
- Open the Actions tab.
- Paste the action script into the space indicated below with "<PASTE XML HERE>"
action uses wow64 redirection false delete __createfile Createfile until END_OF_FILE <PASTE XML HERE> END_OF_FILE delete Startmenu.xml move __createfile Startmenu.xml delete __createfile // CREATEFILE createfile until END_OF_FILE2 Import-StartLayout –LayoutPath Startmenu.xml -MountPath $env:SystemDrive\ END_OF_FILE2 delete startmenu.ps1 move __createfile startmenu.ps1 waithidden { pathname of file ((it as string) of value "Path" of key "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" of native registry) } -ExecutionPolicy unrestricted -File startmenu.ps1
- Open the StartMenu.xml saved earlier in Notepad.
- Select the contents of the XML. Copy and replace the section that has "<PASTE XML HERE>" in the action script.
Your action script looks like this:
Note: If you have any sections in the XML that contains the {, add a double {{ in its place. BigFix considers this relevance and not as xml.
Before
After
- Create two relevance statements:
name of operating system starts with "Win10"
operating system as string contains "1903"
Note: This start menu is for the 1903 build of Windows 10. Be sure to change the build of your version of Windows 10 for the second statement.
- Close the new BigFix Task and deploy it. This updates the default user profile to include the new start menu layout. After the deployment, you should see a new file called LayoutModification.xml.
Any new user that logs in will find the start menu and be able to make changes later.