Making life easier for my users is an oddly satisfying part of my day. When I found out that my method of pinning programs to the taskbar was broken in the newer releases of Windows 10, I was predictably unhappy. See, the Microsoft UI team made the decision that certain actions should be limited to actual user choices. These actions include invoking the pin to taskbar verb in the previously mentioned script. The idea behind this is to prevent spamming of the taskbar (looking at you, Chrome). Unfortunately, their solution lacks finesse.
Thankfully – we don’t have to completely reinvent the wheel to pin programs to the taskbar in Windows 10. We can simply substitute our pinning script with a small pinning executable that is able to bypass the verb restriction. Because this solution works on Windows 8.1 as well, we don’t have to worry about maintaining separate settings for multiple operating systems.
How to Pin Programs to the Taskbar in Windows 10?
First, download this small .zip file. It contains a small executable (75KB), a sample script for pinning Office, and a readme (because everybody loves a readme). The utility was created to solve this Microsoft Connect bug. Credit to Stuart for publishing it first.
Note: Stuart has an updated PowerShell script that also works on the Start Screen. That tool is here.
Edit the pinitem.cmd file in the zip. Customize the script to your environment. By default, it will pin most of Office 2013 to the taskbar. Note the quotation marks around the file path and around the file name. Use quotation marks even if the path/name contain no spaces. Items are pinned in the order that they appear in the script. In our sample script, Outlook is pinned first and PowerPoint is pinned last. Don’t worry about editing the pinto10.exe path. We are going to place it and the script with our GPO.
PinTo10.exe /PTFOL:"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013" /PTFILE:"Outlook 2013.lnk" PinTo10.exe /PTFOL:"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013" /PTFILE:"OneNote 2013.lnk" PinTo10.exe /PTFOL:"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013" /PTFILE:"Word 2013.lnk" PinTo10.exe /PTFOL:"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013" /PTFILE:"Excel 2013.lnk" PinTo10.exe /PTFOL:"C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office 2013" /PTFILE:"PowerPoint 2013.lnk"
Pinned programs are configured for users. Create or edit a GPO that will apply to your users and navigate to User Configuration\Policies\Windows Settings\Scripts. If you do not need the applications pinned on first logon, you can call the script as a logoff script. Everyone else should use a logon script.
Open the logon portion in the GPMC and press show files. Drop the script and exe into SYSVOL\…….\User\Scripts\logon folder. For efficiency, Martin Binder (Group Policy MVP) suggests distributing these files to the client first and pointing the script to the local instance of the file. Either way, add your script the scripts list. Below, you can see pinitem.cmd is ready to run.
To make this script have a consistent feel across multiple operating systems, you will need to configure one more Group Policy setting. This setting applies to computers and can be set in any general computer GPO.
Edit a GPO and navigate to Computer Configuration\Policies\Administrative Templates\System\Group Policy. Enable the setting Configure Logon Script Delay and specify a delay of 1 minute. Be sure to add a comment so future you can remember why this was set. With a GPUpdate for the computer and a logout/login for the user – you should now be able to pin items on your Windows 10 (and older) operating systems!