I wrote a blog post before on how to remove the Edge icon in the Taskbar on Windows 10, https://ccmexec.com/2015/12/removing-the-edge-icon-from-the-taskbar-during-osd/
This post will cover how to use the same scripts and deploy a customized Taskbar instead with the Internet Explorer shortcut instead of the Edge icon.
1. Download the Script from Technet Galleries https://gallery.technet.microsoft.com/Manage-the-taskbar-remove-c3024e40
2. Extract the content to a folder that can be used as package source. It should look like this.
3. In the ManageTaskbar folder Delete the “Quicklaunch” folder and the “TaskbandCU.reg” file
4. On a Windows 10 client modify the Taskbar as you want it to look like adding the IE icon in this case and removing the Edge icon.
5. Copy the folder “C:\Users\%username%\appdata\roaming\Microsoft\Internet Explorer\Quick Launch” folder to the “ManageTaskBar” folder in the structure show above.
6. Remove the space in the “Quick Launch” folder-name to “QuickLaunch”
7. Open the “QuickLaunch” folder and right-click on the the “User-Pinned” folder which is hidden and remove the Hidden attribute, including all subfolders.
8. Open Regedit and browse to the following key, “HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband”
9. Right-click on the “Taskband” key and select to export it, save it under “ManageTaskbar” in the folder structure created earlier with the name “TaskBandCU.reg” so that the content of the “ManageTaskbar” folder once again looks like this.
10. Then you are ready to create a package as in the previous blog post and the result will be in this case a customized Taskbar with the IE icon instead of the Edge icon.
Enjoy!
Thanks for the tip! I figured this one out from your last post.
However, if you’re going to use in-place upgrade, you need to run this for existing accounts as well, so instead of adding the script to the default user’s RunOnce reg key, I’m using ActiveSetup so it runs once for all users.
Another way could be to load all existing user accounts’ registry and add the RunOnce reg key.
This is awesome stuff!!! Thanks a bunch. Really like how this also removes the store icon too with out the GPO. Keep it coming
I’ve tried this with no success. I’m guessing it’s because it’s an HKCU mod, which really doesn’t work during OSD. Is there another way to do this? I would love to have a way!
Hi,
The HKCU mod is run using the runonce key in the registry once for each new user and runs from the local disc, so it works great. If you have existing, a.ka. you are using the inplace upgrade to Windows 10 you should put the command in as an activesetup as well.
/Jörgen
Thanks Jörgen , this works great and your instructions are easy to follow. However it only seems to work for me is the users have admin rights. Can this be modified to work for all users? Or have I done something wrong?
HI,
That should not be that case as the user have permisisons to modify those folders per default..
Could it be that you have some Powershell settings that block it?
/Jörgen
hello
This worked perfectly!!!
Thank You
I have applied the solution to MDT 2013 U2 but it seems not working with MDT deployment methods.
Any comments would be good to help me further.
Hi,
The biggest difference MDT -> SCCM is that MDT runs all commands as local admin but SCCM runs them as System. Haven’t tested it with MDT but will try to…. So the problem is most likely there somewhere.
/Jörgen
It did worked Amazingly!!
Thanks
The powershell script in runonce is not running, when new user is logging in. but when I run the script manually, it works. why??
The powershell in the regkey runonce is not running. why not? if I run it manually it works fine.
Hello. I was wondering – can you elaborate on this?
“If you have existing, a.ka. you are using the inplace upgrade to Windows 10 you should put the command in as an activesetup as well.”
I don’t have any experience with Active Setup, could you write down the steps I need to do in order to make this script work with an in-place upgrade to Windows 10? I’m trying to work it out on my own, but I’m stuck 🙂
Hi,
I will write a post on how to use it with an activesetup as soon as possible.
/Jörgen
Hello.
I can not get this to work using MDT 2013 with MDT deployment methods. Any Ideas?
Have they removed the Windows 7 way of doing things? This also worked in windows 8 if I remember correctly. https://blogs.technet.microsoft.com/askcore/2010/03/16/how-to-customize-the-windows-7-start-menu-and-taskbar-using-unattend-xml/
Hi,
That is correct, the Windows 8 /8.1 scripts doesn’t work in Windows 10
/Jörgen
Hi Jorgen, I’m too need help to use this script to work on ‘existing user profile’, thanks a bunch…
Jorgen, great article!
Quick question – In regards to this registry key: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband –
“FavoritesResolve”, I noticed the FavoritesResolve value contains the user profile name and computer name in the binary data. For instance the TechNet downloaded script of TaskBandCU.reg has username “administrator” and computer name “ek0002”. Have you seen this source username/computername in the binary data cause any issues when applying to other profiles? I haven’t seen anything come up with my testing but wanted to ask you.
Thanks for this. Works like charm deploying Win10 with MDT. I also added to the reg file the key to disable cortana aswell it was a hkey/currentuser key.
Jörgen, where exactly do you place this in the task sequence in SCCM? Thanks for your help
In my Windows 10 there will be no Runonce command started. even a simple Notepad.exe will not been started. grrr
Hi Jorgen,
It appears as though when my users launch internet explorer from the shortcut filed I created it says that it’s from an unknown publisher and asks if they’re sure they want to run it. Is there any way to get around this, or did I somehow do something wrong?
I’m trying to implement this into my Win 10 OSD task sequence, and it was working, but isn’t anymore. I think it has to do with the fact that the registry key that’s being made, within the RunOnce, is under “Default” as opposed to “.Default”. I’m not able to find “Default” in my test builds after the OSD is finished, but I can find “.Default”, but there isn’t a “RunOnce” key in that location, just “Run”.
Any suggestions?
I have tried using this as part of OSD. It works the first time a user logs in, but on subsequent logins, the icons that are pinned to the taskbar have no icon (if I hover the mouse over them, they do show the name), and nothing happens when I click on any of the icons (I have pinned Outlook 2016, IE, Word, Excel, Lync 2010, One Drive for Business and File Explorer).
Any ideas?
I see the WindowStyle is set hidden, but upon first login the powershell window still pops up.
I am also experiencing the blank icons problem. Anybody have a solution yet?
Written by Jörgen Nilsson about 2 months ago.
Hi,
I will write a post on how to use it with an activesetup as soon as possible.
/Jörgen
Hello Jörgen. Denmark is calling 😀
When will You do it 🙂 I’m in need of a solution to this. If I plug it in a reg file, then I’ll only get a black screem until I remove the key again. I suspect it hangs.
I add the key like this:
reg add “HKEY_LOCAL_MACHINE\Software\Microsoft\Active Setup\Installed Components\Managetaskbar” /v “StubPath” /d “Powershell.exe -NoProfile -ExecutionPolicy ByPass -WindowStyle Hidden -file C:\Windows\Managetaskbar\taskband.ps1” /f
I point it to notepad.exe and notepad opens and all hangs until I close it again, so there is something that works 🙂
Hi Jörgen, Please can you explain how to use this during a In-Place upgrade using ActiveSetup?
I would to thank Jörgen for the great work. For in-place upgrade please see the following blog. It looks like you have remove the last part of the powershell script.
https://newsignature.com/articles/active-setup-windows-shell-wouldnt-start
Credit goes to Jon Rohrich.
Your link has some of the worst directions I have seen. You don’t explain where ActiveSetup is in the registry, you don’t show your files, etc. You simply say “you modified Jörgen’s script to place the running of the PowerShell script into Active Setup instead of the user’s RunOnce key” with zero explanation. You need to remember that there are some people who do not know the two registry locations where ActiveSetup resides or even what it is.
For those of you who would like more information on ActiveSetup, here is a brief summary.
Brief Summary of Active Setup
The purpose of Active Setup is to ensure that users have the correct settings that they need when logging on to an endpoint.
The users’ registry captures a record of the Active Setup entries that has been run against it. In essence, the following occurs:
1. User logs on
2. User profile is loaded
3. Active Setup is engaged by the logon process
4. The following registry keys are read:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components; and
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Active Setup\Installed Components
5. Compares the entries in the registry keys above to the following keys:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Active Setup\Installed Components; and
HKEY_CURRENT_USER \SOFTWARE\WOW6432Node\Microsoft\Active Setup\Installed Components
6. If any entries are in the HKLM keys but not in HKCU then they will be processed accordingly.
That information was borrowed from https://www.ivanti.com/blog/active-setup-and-environment-manager-personalization/
I made a workaround with a little help 🙂
During WDS we run a command line “Taskbar.cmd” file.
In this file we have this:
reg load “hku\Default” “C:\USers\Default\NTUSER.DAT”
reg import “%~dp0taskbar.reg”
xcopy “%~dp0Managetaskbar” “C:\Windows\ManageTaskBar” /e /s /y /h /i
reg unload “hku\default”
reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” /v “Managetaskbar” /d “C:\Windows\Managetaskbar\run.cmd” /f
In the “run.cmd” we have this:
IF EXIST %userprofile%\managetaskbar.txt (
goto END ) ELSE (
Powershell.exe -NoProfile -ExecutionPolicy ByPass -WindowStyle Hidden -file C:\Windows\Managetaskbar\taskband.ps1
Echo %date% %time% setup done >> %userprofile%\managetaskbar.txt
)
:END
I see the WindowStyle is set hidden, but upon first login the powershell window still pops up -> I have the same issue. Is there a solution for this?
Brian or someone, please share how you got this working in MDT. I’m trying to do it in MDT with no luck so far.
Can this be done in the reference image or does it have to be done at deployment time?
Also interested knowing how this is done in MDT. Can anyone share this with us?
Thank you!
Oh man! You’re posts are just awesome! You are my new go-to guy for Windows 10 tips. Everything is so well-written, clear and accurate. I’ve used your posts for the Start Layout and now the Taskbar. Everything works, exactly as you say it. Thank you soooooo much!
I have this working in my MDT Task Sequence after some messing around. This worked for me –
1. Follow the guide above to get your shortcuts and registry key
2. place Managetaskbar folder, TaskBar.cmd and Taskbar.reg into a folder
3. Place this inside %scriptroot%
4. Add ‘Run Command Line’ to your Task Sequence (mine is inside the Custom Tasks folder)
5. Place path of TaskBar.cmd in Command line field e.g. %SCRIPTROOT%\MyCustomTaskbar\TaskBar.cmd
6. Create installation media
7. Image
8. Beer
One thing that I noticed the first few times I tried to get this to work was that I ended up with the correct number of blank icons in the taskbar, but these did not work as they were missing their target information.
Sadly, I don’t have a ‘fix’ for this and I’m not sure why the shortcuts lost their information. My workflow was to copy the folder to %scriptroot%, check shortcuts’ info was intact > Create installation media (I image from a USB stick) > Mount resulting .iso, check shortcuts intact > image machine > Check result
If you’re having trouble I would say the above is definitely worth looking at as that was my issue.
Thanks for this awesome tip, Jörgen!
Hi, I am little new to most of this. Can someone point me in the direction where I can learn how to create a package ? I have everything else done but I am a little confused on how to create and then deploy this package on each PC that I am configuring.
I had a problem with this not working in a domain environment on Win 10. Turns out that the issue was that the powershell that runs for each user for the first time was causing a security warning. It worked fine in a workgroup environment. There were two solutions, set the global powershell execution policy to bypass (really bad idea for security), or to add the following line to the end of the taskbar.cmd file:
echo.>C:\Windows\ManageTaskBar\taskband.ps1:Zone.Identifier
Hope that helps someone else. All this does is unblock the file. Jorgen, thanks for the hard work.
this worked for me on the first try in MDT!!! Thanks so much!
Hi Jörgen,
Nice job, but i have some problems. When iam running the .bat file local on the computer for testing i got some error when running the taskbar.bat file. reg import command says: Error: invalid syntax.
And the xcopy command gives error Message Invalid number of parmeters.
Hope you can help me.
thansk.
Hi,how to uninstall this job in win 10 anniversary update,although it not work but still have something run in backgrund
Xcopy error Message Invalid number of parmeters.
>> Remove the “_1.0” part in the folder name
Hi, Can anybody confirm that it work on windows 10 1511 . I run it in tasksequence in sccm but taskbar didn`t change . Powershell script run after user login and proces explorer also run. Please advice.
I can confirm that this works fine on Windows 10 1511.
Make sure you haven’t set the user GPO to block registry tools as that will prevent her the script from running for users when they log in.
A workaround for this is to change the PowerShell script from using reg.exe to use “C\Windows\regedit.exe /s ” instead.
This means you can block registry tools as long as you select the option to allow silent running in the GPO.
I have been successful using this with clean installs, unfortunately it doesn’t set the icon customizations after an in-place upgrade moving from 7 to 10. Anyone experience this?
Hi,
Is this tested with W10 1703? Will it work if using custom start and taskbar layout? Current problem is that I want to remove Edge icon from taskbar.
not consistent with all user profiles . On same machine it worked for USER 1 and USER 2 its not working. Mean to say script is not ruined on 1st login. When I deleted the Profile it worked.. Any idea how to tackle on this issue. ?
I have captured an image with the all the folders included and pushed to capture wim file. Now I want edge back in the task bar, how do I delete everything without creating a new win10 1607 image file
Hi,
Run the import command in the TS when deploying the image, if the users profile is not already created it will get the new settings.
Regards,
Jörgen
The file structure is kind of confusing with the pictures used. I’m having a difficult time with it. if he had used this structure it would have been much easier ManageTaskbar\QuickLaunch. Can someone confirm what files go in what folder I really need this to work.
Confirmed…”Mike’s” solution worked in MDT when nothing else did.
Reposting Mike’s solution:
“Mike
I have this working in my MDT Task Sequence after some messing around. This worked for me –
1. Follow the guide above to get your shortcuts and registry key
2. place Managetaskbar folder, TaskBar.cmd and Taskbar.reg into a folder
3. Place this inside %scriptroot%
4. Add ‘Run Command Line’ to your Task Sequence (mine is inside the Custom Tasks folder)
5. Place path of TaskBar.cmd in Command line field e.g. %SCRIPTROOT%\MyCustomTaskbar\TaskBar.cmd
6. Create installation media
7. Image
8. Beer
One thing that I noticed the first few times I tried to get this to work was that I ended up with the correct number of blank icons in the taskbar, but these did not work as they were missing their target information.
Sadly, I don’t have a ‘fix’ for this and I’m not sure why the shortcuts lost their information. My workflow was to copy the folder to %scriptroot%, check shortcuts’ info was intact > Create installation media (I image from a USB stick) > Mount resulting .iso, check shortcuts intact > image machine > Check result
If you’re having trouble I would say the above is definitely worth looking at as that was my issue.
Thanks for this awesome tip, Jörgen!”
We incorporated this with our 1511 rollout and it worked great. The only issue we have now is that users can’t remove one of these icons. It reappears after a reboot. Persists in upgrade. Anyway to completely remove one of these icons that were added?
Hi,
Yes, after 1511 you should be able to deploy a custom taskbar using the same xml as used for the Start Menu, that is how I solved it.
Regards,
Jörgen
Hello,
I set this up while on build v1709 and it worked perfectly. After updating a PC to v1803, I noticed that this Powershell script will not run when logging in as a new user. Is this a known issue?
Thanks for all you do Jörgen.
Hi,
I haven’t tested that solution in 1803, I recommend you use the builtin feature to achieve the same https://ccmexec.com/2016/08/managing-the-taskbar-in-windows-10-using-the-new-feature-in-1607/
Regards,
Jörgen
I keep getting this during the task sequence and its not working. I run the powershell script manually and it works fine. What am I missing.
Stop-Process : Cannot find a process with the name “explorer”. Verify the process name and call the cmdlet again. RunPowerShellScript 6/21/2018 3:51:21 PM 3680 (0x0E60)
At C:\_SMSTaskSequence\Packages\BSP0009D\Taskband.ps1:4 char:1 RunPowerShellScript 6/21/2018 3:51:21 PM 3680 (0x0E60)
+ Stop-Process -ProcessName explorer -Force RunPowerShellScript 6/21/2018 3:51:21 PM 3680 (0x0E60)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RunPowerShellScript 6/21/2018 3:51:21 PM 3680 (0x0E60)
+ CategoryInfo : ObjectNotFound: (explorer:String) [Stop-Process], ProcessCommandException RunPowerShellScript 6/21/2018 3:51:21 PM 3680 (0x0E60)
+ FullyQualifiedErrorId : NoProcessFoundForGivenName,Microsoft.PowerShell.Commands.StopProcessCommand RunPowerShellScript 6/21/2018 3:51:21 PM 3680 (0x0E60)
RunPowerShellScript 6/21/2018 3:51:21 PM 3680 (0x0E60)
Test
Hi,
I used this method a while ago, and it’s great. But now every time I click on the link to get the scrip it takes me to browse code samples in Microsoft website. Do you know where to get it please?