Windows 10 Start Layout Customization
This Windows 10 Start Layout Customization guide provides detailed guidance on how organizations can customize the Windows 10 Start layout. Organizations often desire to deploy a customized Start layout on their devices to help direct users to specific applications.
Figure 1. Default Windows 10 Start Layout
In previous editions of Windows (Windows 10 RTM and Windows 8.1) it was possible to create customized Start layouts for an organization. However, there were only two options available to control these start layout customizations:
- Locked Down Start Layout – The start layout was customized to meet an organizations requirement but it was entirely locked down and could not be customized by users
- Customizable Start Layout – The start layout was customized to meet an organizations requirement but there was nothing to prevent the user from removing all of the organizations customizations,
Windows 10 version 1511 has introduced a new feature which makes it possible for an organization to customize the start layout by locking down individual groups within the Start layout. This allows an organization to customize their start layout and ensure that their corporate applications are always present on Start while allowing the end user the freedom to customize the start layout with their own applications.
In this topic:
- Exporting a Start layout
- Applying a Start layout
- Updating a Start layout
- Partially locking down groups in the Start Layout
Exporting a Start layout
The simplest way to create customized Start layouts to apply to an organization is to manually create a sample layout on a test machine and then export that layout. The exported Start layout can then be deployed to all machines in the organization. To prepare a Start layout for export, you simply customize the Start layout on a test computer.
Prepare a test computer
- Set up a test computer on which to customize the Start screen. Your test computer should have the either Windows 10 Enterprise or Windows 10 Education. Install all the applications and services that the Start screen should display.
- Create a new user account that you will use to customize the Start screen layout.
- Sign in to your test computer with the user account that you created.
- Customize the Start screen as you want users to see it by using the following techniques:
Customize the Start Layout
- Pin apps to the Start screen. From the Start screen, type the name of the app. When the app appears in the search results, right-click the app, and then click Pin to Start.
To view all apps, click All apps in the bottom-left corner of the Start screen. Right-click any app, and pin or unpin it from the Start screen.
- Unpin apps that you don’t want to display. To unpin an app, right-click the app, and then click Unpin from Start.
- Drag tiles on the Start screen to reorder or group apps.
- Resize tiles. To resize tiles, right-click the tile and then click Resize.
- Create your own app groups. Drag the apps to an empty area. To name a group, click above the group of tiles and then type the name in the Name group field that appears above the group.
Figure 2. Customized Windows 10 Start Layout
Export the Start Layout
When you have the Start screen layout that you want your users to see, use the Export-StartLayout cmdlet in Windows PowerShell to export the Start screen to an .xml file.
- From Start, open Windows PowerShell.
- At the Windows PowerShell command prompt, enter the following command:
Export-StartLayout –path <path><file name>.xml
Figure 3. Export-StartLayout cmdlet
In the previous command, -path is a required parameter that specifies the path and file name for the export file. You can specify a local path or a UNC path (for example, \\FileServer01\StartLayouts\StartLayoutMarketing.xml). The file must be accessible on the local computer when a user signs in (the user must have Read-only access). If the file is not available, the Start screen layout is not deployed during that session, and the user can make changes to the Start screen.
If you plan to deploy a GPO that customizes Start screen layouts for domain users, store the .xml file in shared network storage that all of the users can access.
Use a file name of your choice - for example, StartLayoutMarketing.xml. Include the .xml file name extension. The Export-StartLayout cmdlet does not append the file name extension, and the policy settings require the extension.
Applying a Start layout
Once you have an exported Start Layout you can use the XML file to apply this start layout to your entire organization using PowerShell or Group Policy.
PowerShell
When you have the Start screen layout exported, use the Import-StartLayout cmdlet in Windows PowerShell to manually import the .xml file into the system.
- From Start, open Windows PowerShell.
- At the Windows PowerShell command prompt, enter the following command:
Import-StartLayout –LayoutPath <path><file name>.xml –MountPath %systemdrive%
Figure 4. Import-StartLayout cmdlet
Important
Applying a Start Layout through the Import-StartLayout cmdlet will not enforce the layout and users will have an option to perform changes. This will only apply to new user profiles created in the machine after applying the custom Start Layout.
Group Policy
To apply the Start layout to users in a domain, use the Group Policy Management Console (GPMC) to configure a domain-based Group Policy Object (GPO) that sets Start Layout policy settings in the Start Menu and Taskbar administrative template for users in a domain.
The GPO applies the Start layout at the next user sign-in. Each time the user signs in, the timestamp of the .xml file with the Start layout is checked and if a newer version of the file is available, the settings in the latest version of the file are applied.
The GPO can be configured from any computer on which the necessary ADMX and ADML files (StartMenu.admx and StartMenu.adml) for Windows 10 are installed.
The .xml file with the Start layout must be located on shared network storage that is available to the users’ computers when they sign in and the users must have Read-only access to the file. If the file is not available at sign-in, the Start screen is not customized during the session, and the user can make changes to the Start screen.
- On a Domain Controller, open the Group Policy Management Console (gpmc.msc).
- In the Group Policy Management Console, browse to Group Policy Management > Forest: <forest name> > Domains > <domain name> > Group Policy Objects.
- Right-click on Group Policy Objects and select New.
- In the New GPO dialog box, provide a Name then click OK.
- Right-click on the GPO created from the previous step then select Edit.
- Go to User Configuration or Computer Configuration > Policies > Administrative Templates >Start Menu and Taskbar.
- Right-click Start Layout in the right pane, and click Edit. This opens the Start Layout policy settings.
- Enter the following settings, and then click OK:
- Select Enabled.
- Under Options, specify the path to the .xml file that contains the Start layout. For example, type C:\Users\Test01\StartScreen.xml or \\ShareName\StartScreen.xml.
- Optionally, enter a comment to identify the Start layout.
Figure 5. Start Layout Group Policy Setting
Important
By default, applying Start Layout customizations via GPO will enforce the layout and prevent users from performing changes. To allow users to modify the Start Layout, go to the Partial Lockdown section.
Provisioning Packages
Use the Imaging and Configuration Designer (ICD) tool included in the Windows Assessment and Deployment Kit (ADK) for Windows 10 to create a provisioning package that applies a customized Start layout. Install the ADK.
- Open ICD (by default, %windir%\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Imaging and Configuration Designer\x86\ICD.exe).
- Choose New provisioning package.
- Name your project, and click Next.
- Choose Common to all Windows editions and click Next.
- On New project, click Finish. The workspace for your package opens.
- Expand Runtime settings > Start, and click StartLayout.
- Specify the path and file name of the Start layout .xml that you created with the Export-StartLayout cmdlet.
- On the File menu, select Save.
- On the Export menu, select Provisioning package.
- Change Owner to IT Admin, which will set the precedence of this provisioning package higher than provisioning packages applied to this device from other sources, and then select Next.
- Optional. In the Provisioning package security window, you can choose to encrypt the package and enable package signing.
- Enable package encryption - If you select this option, an auto-generated password will be shown on the screen.
- Enable package signing - If you select this option, you must select a valid certificate to use for signing the package. You can specify the certificate by clicking Select... and choosing the certificate you want to use to sign the package.
- Click Next to specify the output location where you want the provisioning package to go when it's built. By default, Windows Imaging and Configuration Designer (ICD) uses the project folder as the output location.
- Optionally, you can click Browse to change the default output location.
- Click Next.
- Click Build to start building the package. The provisioning package doesn't take long to build. The project information is displayed in the build page and the progress bar indicates the build status. If you need to cancel the build, click Cancel. This cancels the current build process, closes the wizard, and takes you back to the Customizations Page.
- If your build fails, an error message will show up that includes a link to the project folder. You can scan the logs to determine what caused the error. Once you fix the issue, try building the package again.
If your build is successful, the name of the provisioning package, output directory, and project directory will be shown.
- If you choose, you can build the provisioning package again and pick a different path for the output package. To do this, click Back to change the output package name and path, and then click Next to start another build.
- If you are done, click Finish to close the wizard and go back to the Customizations Page.
16. Copy the provisioning package to the target device.
17. Double-click the ppkg file and allow it to install.
Important
By default, applying Start Layout customizations via Provisioning Packages will enforce the layout and prevent users from performing changes. To allow users to modify the Start Layout, go to the Partial Lockdown section.
Updating a Start layout
General
After you use Group Policy to apply a customized Start layout on a computer or in a domain, you can update the layout simply by replacing the .xml file that is specified in the Start Layout policy settings with a file with a newer timestamp.
- Customize the Start screen on your test computer the way that you want it to look for users.
- Run the Export-StartLayout cmdlet, with the following format, to export the new Start screen layout to an .xml file that overwrites the original file:
Export-StartLayout –path <path><file name>.xml
Partial Lockdown
By default, applying a custom Start Layout via Group Policy enforces and locks down the Start Layout which prohibits users in making any modifications. For Enterprises that would like to provide users the ability to personalize or modify the Start Layout while only partially locking down certain groups they can update the custom Start Layout xml file to support this capability. This feature is only available in Windows 10 version 1511.
- Open the exported Start Layout .xml file
- Locate the <DefaultLayoutOverride> section and add a parameter as detailed below.
<DefaultLayoutOverride LayoutCustomizationRestrictionType=”OnlySpecifiedGroups”>
Figure 6. Partial Lockdown Parameter
3. Save the update Start Layout .xml file and apply via Group Policy or Provisioning Packages.
Figure 7. Start Layout applied with Partial Lockdown setting
Important
Applying a Start Layout using the "OnlySpecifiedGroups" parameter using Group Policy or provisioning packs will only lock the groups specified in the Start Layout xml. file All other groups in the Start Layout can be controlled by the user.
Frequently Asked Questions
Q) Is it possible to programmatically modify the start screen through an API.
A) No. There is no API that allows programmatic access to the Start Layout. The Start Layout XML could be programmatically edited to automatically customize the Start Layout.
Additional Resources
- TechNet - Start Screen Cmdlets in PowerShell
- TechNet - Customize and Export Start Layout
- TechNet - Customize Windows 10 Start with Group Policy
Disclaimer: The information on this site is provided "AS IS" with no warranties, confers no rights, and is not supported by the authors or Microsoft Corporation. Use of included script samples are subject to the terms specified in the Terms of Use .
This post was contributed by Mark Hooks and Marvin Quinzon , both architects within Microsoft Services.
Comments
- Anonymous
March 09, 2016
In Win8.1 we found that applying a Start layout via GPO (computer not user) on some computers, would write that layout into a user's roaming profile upon logout. This would likely have over written the user's custom Start layout they created on unmanaged layout computers. Has any effort been done in Win10 to not allow the user profile service to take a computer setting of the layout and put it into the user's roaming profile? - Anonymous
March 09, 2016
Will this be ported to Enterprise LTSB 2015? We need this feature for devices running that version. - Anonymous
March 10, 2016
Great write up! I'm very disappointed however that Microsoft has only made this available to Windows 10 Enterprise and Education. A lot of companies obviously want to use this feature but are unable to. I'm assuming a lot of SMB's are running the Pro version. It's obvious that the start menu layout is something a lot of people are going to want to configure and it was obvious to Microsoft as well. A potential new revenue stream?- Anonymous
April 17, 2017
@Henrik: Support for Win 10 Education was added in 1607. Win 10 Pro adds support in 1703. Ref: https://technet.microsoft.com/en-us/itpro/windows/configure/customize-windows-10-start-screens-by-using-group-policy
- Anonymous
- Anonymous
March 14, 2016
I have tried this so many times and it just does not work. I have set the GPO, assigned it to an OU, put computers in the OU and nothing. still the default start menu but locks it thats all. Even when I do this on local GP it does not work... - Anonymous
March 15, 2016
To get around this for LTSB, you can do the following:Firstly, if you want to pin IE (and you probably do since there is no Edge), copy Internet Explorer.lnk from C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Accessories to C:\ProgramData\Microsoft\Windows\Start Menu\Programs. If you don't do this, then you'll end up with a gap where you pinned IE.Pin your apps in the order and layout you want.Export your start layout.Do NOT add the bit about ... LayoutCustomizationRestrictionType="OnlySpecifiedGroups"(In other words, just use the .xml as is!)Call the file LayoutModification.xml - this is important as my testing showed it didn't work when we called it StartLayout.xmlCopy LayoutModification.xml to C:\Users\Default\AppData\Local\Microsoft\Windows\Shell, either in your Build and Capture or your Deploy Task Sequence (or however you like, provided it's there before any users log in.When you finish deploying a device, your c:\Users\Default\AppData\Local\Microsoft\Windows\Shell directory will have two files:DefaultLayouts.xmlLayoutModification.xmlUsers will then have the default Start Menu you set, but they can change it. Fine by me.. I just wanted them to have access to IE, Outlook etc. so they didn't have to hunt for it, and this is essentially the behavior (pre-set, but flexibility) I was trying to get with the partial layout. - Anonymous
February 08, 2017
Are we going to see an updated version of this for v1607 (and beyond assuming it changes)? - Anonymous
March 02, 2017
thanks,this help me alot - Anonymous
April 01, 2017
Please note that system enviroments variables are no longer resolved via PowerShell like that. This is what worked for me:Export-StartLayout -path “$env:UserProfile\Desktop\StartBackup.bin” –verboseImport-StartLayout -LayoutPath “$env:UserProfile\Desktop\StartBackup.bin” -mountpath “$env:systemdrive\” - Anonymous
June 01, 2017
Start menu layout customization and Disabling Windows store is only supported in Windows 10 Enterprise and Education versions ? If it is true will Microsoft make this feature available to other versions or is there a workaround ? - Anonymous
June 07, 2017
Export-StartLayout -As BIN does not function in version 1703. Unable to export as .BIN in windows 10 version 1703. I am at a loss! I can export as .XML, but (according to all documentation) you can only import a .bin into a 'mounted' wim using Import-StartLayout. Additionally I have the .XML set to be applied via GPO and that is not working as well. If I view GP results or modelling in my management console there are no errors being logged. No errors on the workstations as well, but no custom start menu or taskbar. The only changes that occur are the menus in all our Windows 8.1 / Server 2012 R2 become locked and no changes can be made. NO Right Click Options of any kind are available. Here is my exported .XML and as you can see, I have included "LayoutCustomizationRestrictionType="OnlySpecifiedGroups".- Anonymous
July 10, 2017
The quotes are wrong. Delete them and retype them looks like it was from a copy and paste. - Anonymous
August 02, 2017
I am trying and have been for almost 3 days now on how to get my customized Start Menu XML and Taskbar pins to hold when I build my deployment in SCCM. I cannot seem to make it work as there seems to be something in the Sysprep CopyProfile (file, folders, or even registry) that is locking it down. Has anyone come up with a solution for making what used to work prior to version 1703 work again? - Anonymous
August 07, 2017
SMusser - I'm running into the same behavior as you - if the GPO is applied the Start Menu is completely locked down. The OnlySpecifiedGroups parameter seems to do nothing.Did you solve that?
- Anonymous
- Anonymous
July 26, 2017
The comment has been removed