Customize Windows 10 Taskbar Configuration Using SCCM Task Sequence

Jonathan LefebvreSCCM, WINDOWS 1024 Comments

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
Note
If you do not wish to modify the Start Menu and leave it by default, you can skip this section and go directly to the Taskbar configuration section.

SCCM Windows 10 Taskbar configuration

  • 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

SCCM Windows 10 Taskbar configuration

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.
LayoutModificationTemplate Before
<LayoutModificationTemplate Version=”1″ xmlns=”http://schemas.microsoft.com/Start/2014/LayoutModification”>

LayoutModificationTemplate After
<?xml version=”1.0″ encoding=”utf-8″?>
<LayoutModificationTemplate
xmlns=”http://schemas.microsoft.com/Start/2014/LayoutModification”
xmlns:defaultlayout=”http://schemas.microsoft.com/Start/2014/FullDefaultLayout”
xmlns:start=”http://schemas.microsoft.com/Start/2014/StartLayout”
xmlns:taskbar=”http://schemas.microsoft.com/Start/2014/TaskbarLayout”
Version=”1″>

  • 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.
CustomTaskbarLayoutCollection
<CustomTaskbarLayoutCollection PinListPlacement=”Replace”>
<defaultlayout:TaskbarLayout>
<taskbar:TaskbarPinList>
<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” />
</taskbar:TaskbarPinList>
</defaultlayout:TaskbarLayout>
</CustomTaskbarLayoutCollection>

The end result will look like this :

SCCM Windows 10 Taskbar configuration

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).

SCCM Windows 10 Taskbar configuration

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

Results

After a new deployment, the user profile will load with a modified Start Menu and Taskbar.

Default view :

SCCM Windows 10 Taskbar configuration

Modified with the StartMenu.xml :

SCCM Windows 10 Taskbar configuration

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 :

  • HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Search
  • SearchboxTaskbarMode DWORD
  • 0 = Hidden

SCCM Windows 10 Taskbar configuration

  • 1 = Show search or Cortana icon

SCCM Windows 10 Taskbar configuration

  • 2 = Show search box

SCCM Windows 10 Taskbar configuration

Here’s how the Registry configuration looks in Group Policy Preference :

SCCM Windows 10 Taskbar configuration

Hope this help!

 

Customize Windows 10 Taskbar Configuration Using SCCM Task Sequence
5 - 2 votes

Contributor of System Center Dudes. Based in Montreal, Canada, Senior Microsoft SCCM consultant, working in the industry for more than 10 years. He developed a strong knowledge of SCCM and MDT to build automated OS deployment solution for clients, managed large and complexe environment, including Point of Sale (POS) related projects.

24 Comments on “Customize Windows 10 Taskbar Configuration Using SCCM Task Sequence”

  1. 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).

    Thanks!

    1. 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.

      1. 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.

        Thanks!

  2. 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. 🙂

    Scott

  3. 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.”

    1. Hi James,

      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.

      Jonathan

      1. Hi Jonathan,

        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.

        Thanks again

        1. 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.

  4. Thanks for the guide!
    Do you have another guide or steps to get this working in Windows 10 1703?

    Thanks

  5. 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.

    1. Hi Robert,

      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
      Jonathan

  6. 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.

    1. 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…

      Jonathan

  7. Pingback: Customize Windows 10 Taskbar Configuration Using SCCM Task Sequence |

  8. 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.

    1. 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.

      Jonathan

  9. Awesome article, as always! But shouldn’t your command line be referencing StartMenu.xml, not StartMenu.bin, for the LayoutPath?

    1. Hi Shane,

      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.

      Thanks
      Jonathan

    1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *