With the release of Windows 10 1607, some customization solution were modified. One of them is the ability to modify the Taskbar configuration. In a previous post, we provided many customization scripts and how-to that were made for Windows 10 version 1511. Modifying the Taskbar was one of those customization but it was more of a workaround than a planned how-to.
With Windows 10 1607, the Taskbar can be modified similarly to the Start Menu.
In this post, we will detail how to modify the Windows 10 Taskbar configuration using a SCCM Task sequence.
This could also be done as part of a Group Policy.
SCCM Windows 10 Taskbar Configuration Prerequisites
Using this Taskbar customization solution is only available for Windows 10 version 1607 and higher.
Before we begin
It’s important to understand the concept behind customizing the Taskbar. It use the same Layout Modification method as the Start Menu. It means that if you already use an XML to modify the layout of the Start Menu, you will need to use the same file with a new section in the XML. You can’t have an XML for the Start Menu and a separate one for the Taskbar. If you do, the last to be imported will be the only configuration applied to both Start menu and Taskbar.
Configure a StartMenu.xml layout
- Setup a Windows 10 start menu as we would like to have as default
- Start a PowerShell command window as administrator
- Enter the following command line to export the Start Menu
- Export-startlayout -path C:\temp\StartMenu.xml
- A StartMenu.xml is generated in the specified directory
More details can be found in this Technet article
Add Windows 10 1607 Taskbar configuration to StartMenu.xml
The easy part was to generate the StartMenu.xml file, the though part is ahead. There is no configure-and-export solution for the Taskbar. Instead, we must manually edit the sections in the XML file to include the desired configuration for the Taskbar.
- Replace the top section of LayoutModificationTemplate. This will “Enable” the Start Menu and Taskbar.
- Add a new section after the </DefaultLayoutOverride> section. This is where you’ll be adding your shortcuts. We will be adding Internet Explorer, Explorer, Outlook and Skype.
<taskbar:DesktopApp DesktopApplicationLinkPath=”%APPDATA%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk“/>
<taskbar:DesktopApp DesktopApplicationLinkPath=”%APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools\File Explorer.lnk” />
<taskbar:DesktopApp DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Outlook 2016.lnk” />
<taskbar:DesktopApp DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Skype Entreprise 2016.lnk” />
The end result will look like this :
The order of apps in the XML file dictates the order of pinned apps on the Taskbar from left to right, to the right of any existing apps pinned by the user.
The following example shows how apps will be pinned: Windows default apps to the left (blue circle), apps pinned by the user in the center (orange triangle), and apps that you pin using the XML file to the right (green square).
More details can be found in this Technet article to edit the XML as you wish.
Add the Start Menu and TaskBar configuration to a Task sequence
We will now deploy our configuration using a Task Sequence.
- Go to Software Library \ Operating Systems \ Task Sequences
- Right-click and Edit your Windows 10 task sequence
- Select Add / General / Run Command Line
- Name : Set Start Menu Layout
- Command line : Powershell.exe Import-StartLayout -LayoutPath StartMenu\StartMenu.xml -MountPath C:\
- Check the Package box and specify your Windows 10 customization package
- Position this step after the Windows image has been deployed
After a new deployment, the user profile will load with a modified Start Menu and Taskbar.
Default view :
Modified with the StartMenu.xml :
The order fits our XML file order. File Explorer is left because it’s a Windows default app.
Bonus – Hide Cortana from the Taskbar
If you want to see less or no Cortana at all in the taskbar, configure the following Regkey with a group policy preference :
- SearchboxTaskbarMode DWORD
- 0 = Hidden
- 1 = Show search or Cortana icon
- 2 = Show search box
Here’s how the Registry configuration looks in Group Policy Preference :
Hope this help!
Sorry this question is a year late but is it possible to completely remove the taskbar?
I have icluded commands to removed few inbuilt apps during upgrade. Once custom layout is applied then Will it still show my removed builtinapps icon (with arrow mark) in Layout ?
Is it possible to add Configuration Manger Control Panel shortcut to start menu layout?
Great article! This still works with 1809 for anyone wondering 🙂
Great stuff. I was able to use your guide with 1709 and 1703. Has anyone successfully used this for 1803? I’ve not been able to get it to work. The IE shortcut is added to the Start tiles but not to the taskbar.
Hi, am unable to get this working on 1709. Cortana search bar keeps showing and I need to set it to icon in taskbar. Any thoughts please.
Great tutorial. My question is, how can you make the start menu layout permanent? In other words, if a user tries to remove or add a tile, when the device reboots, I want the start menu layout to stay the way it was customized. I know you could control it through group policy, but would rather it be completely done when imaging the workstation through SCCM.
Hello – Is it possible to include software center icon on the task bar with above steps?
yes it’s possible to do!
just add the path to the software center lnk from the AllUsersProfile.
%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Microsoft System Center\Configuration Manager\Software Center.lnk
Has anyone gotten this to work with 1709? As my reply states below I have not been able to and I’m looking for help from anyone who has it working successfully with the latest Windows 10 build (1709).
Start Menu and Taskbar layouts are working for me on my latest 1709 gold image. As far as I can tell, the only thing you’re doing differently from me is that my XML file is named StartMenu.bin rather than StartMenu.xml.
Is there a reason why you are using .bin? I’m wondering if you will be okay showing me what you did. I’d love to get this working.
I’ve been trying to get this to work but when the command line is run Powershell.exe Import-StartLayout -LayoutPath StartMenu\StartMenu.xml -MountPath C:\ it keeps telling me the path is incorrect and no path exists. I’ve also tried to map the path to my startmenu.xml layout that is in the package but still fails. Can you explain where the Startmenu\StartMenu.xml is suppose to go? Is it to the shell folder on the imaged machine? I also have this running after the OS is installed in TS… my apps and other packages install fine so I am just trying to debug this.
Great script if I can just get it working. This start menu stuff actually has been the biggest pain to the entire Win10 imaging project. 🙂
Does this work with the 1709 build? I am getting error when I use powershell to import a modified layout XML. “Import-StartLayout : The file LayoutModification.xml is not a valid file.”
I believe this should work with 1709, but I haven’t tested them yet.
Make sure the XML open fine in IE/Edge so you don’t have a typo.
Thanks for the post. This looks to be just what I need. I’ve got my exported StartMenu.xml, but after I edit it for the taskbar settings, I am unable to open it in IE/Edge. I don’t think it’s a typo since I’m copying and pasting, but I don’t know about saving it encoded. I’ve installed Visual Studio 2017 to use as an .xml editor. Any suggestions or links you can recommend for .xml editing.
I found the resolution on another site – apparently when I copied examples from the web I got different types of quotation marks. “Some of the quotes in your xml are different from the others. For example the first line is affected by this : the quotes ” and “ are bad but ” is good” (https://docs.microsoft.com/en-us/windows/configuration/configure-windows-10-taskbar). Once I fixed my quotes I was able to open my edited XML in IE. Thanks again for your post.
Thanks for the guide!
Do you have another guide or steps to get this working in Windows 10 1703?
this work just fine in 1703.
How can I make Internet Explorer 11 the default web browser for initial use without locking it to where users can’t change it? The default association xml permanently sets the browser to whatever you choose.
IE11 is a bit tricky.
1st you need to copy the Internet Explorer.lnk to the all users start menu : Xcopy “%~dp0Internet Explorer.lnk” “C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories\” /Q /Y /I
2nd, you need to edit the XML after you have exported the Start Menu. Internet Explorer will not point to the all user start menu. Modify the line to : DesktopApplicationLinkPath=”%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Accessories\Internet Explorer.lnk”
Hope this help
This is good to know as currently with our 1511 deployment I use a Powershell script that runs at first logon to modify the registry and copy over the necessary icons. There is also a task sequence piece to it which has worked well but this looks much cleaner.
Thanks for your comment.
One thing. Keep in mind that each releases of Windows 10 will require a revisit of each customization scripts. Half of my scripts needed tweaks to work for 1703 so far…
Pingback: Customize Windows 10 Taskbar Configuration Using SCCM Task Sequence |
Great article, and thank you for sharing these steps.
Now for an issue (possibly): I have the partial lock applying through GPO, but when I log in as the user the the modifications are there, but so are the other default tiles (Xbox, Maps, Get Office, etc.). Now I do plan to strip many of these out of the image, but is there a way to remove the pins for the programs that I won’t be removing (pictures, etc)? Thanks in advance for any help you can provide.
Hi Lam Cake,
For the remove pins, well if you configure and export a StartMenu layout, you should not see unwanted pins after that.
For the partial lock, it is important to only have one XML for the start menu AND taskbar. If you apply 2 differents XML, the latest will win, and the other section will return to default.
Awesome article, as always! But shouldn’t your command line be referencing StartMenu.xml, not StartMenu.bin, for the LayoutPath?
thanks for you comment!
You are right, I’ll fix that. For some reason, the .Bin was better to be used in 1511. Now the XML works fine.
Re-used the section from our previous article.
Can this be done via GP or must it be done by editing the registry?
It is possible to apply the XML by GPO.
you can also create a LayoutModification.xml (which is your new stuff you make and export) and copy it to C:\users\default\appdata\local\microsoft\windows\shell if this is a new image
Top class article as usual.
Thanks for the comment
Glad you like it 🙂