How to Pin shortcut to the Start Menu using group policy? RRS feed

  • Question

  • Can anyone tell me how to Pin a shortcut to the Start Menu using group policy (Windows 7)?  I want every user in a specific OU to have the shortcut for one of our standard apps at the top of the Start Menu every time they click on the Start Button.

    I know that the shortcuts for pinned programs are stored in %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu.  I've tried using Group Policy Preferences to create Shortcuts in this folder, but to no avail.  Simply creating or dropping a LNK file into that folder isn't enough: the created/dropped LNK file doesn't appear when the user clicks on the Start button.

    I've only been able to make the shortcuts appear as pinned programs by right-clicking and selecting Pin to Start Menu from the context menu.  This does create a shortcut file in the folder, but it must also do some other magic for which I cannot account.  Can anyone else explain how that works, so that I can incorporate it into a group policy object?

    Thanks in advance for your time and help.

    Wednesday, June 9, 2010 2:38 PM

All replies

  • Here's a way to do it using a script...


    You're right about the other part though...  The magic is that there are two components to a Pinned item.  One is the actual file system link and the second is the Registry key value (which is an ugly Binary value by the way) that must be configured in order for an item to show up.

    So if you really want to do this using GPO or GPP then you must put the link in the right location and you must also modify the Registry value.  The reg value contains the name of the link as well as the order that the item should appear.

    Now if you're going to do a one time configuration with GPP then it might be worth your while to configure a machine exactly the way you want it to look initially and then store that value and import it into your GPP setting.  However, if you want this to be enforced each and every time...well that's where things get dicey because if the user changes the order of things or adds new items you're going to reset their values with your defaults.

    Not sure which way you want to go...but I use that above script to set some initial values in my images.  It's much cleaner and simpler to do...but if you want to go GPP then I can do some hunting for you to see if I can find the exact REG values you need to set.


    Wednesday, June 9, 2010 6:10 PM
  • Thanks for the input, Mike.  I tried using the method described in the link you posted; however, it doesn't work, because "Pin to Start Menu" is not one of the available Shell Object Verbs for my corporate application's shortcut.  It's weird how some shortcuts CAN be pinned, but some shortcuts CANNOT.  I wish I knew why that was, and how to make it so for the shortcut I want.

    Wednesday, June 9, 2010 10:43 PM
  • Ok...Plan B. 

    As I mentioned before, there are two parts to a Start Menu pinned item or a Taskbar pinned item.  If you want to use GPP to set these up and do them in an actual Preferences mode (meaning you're only going to apply them one time and people can change them to whatever they want later on) then you can find the Registry key you want under:


    That's the Start Menu, whereas the ProgramsCacheTBP is the Task Bar. 

    I'm not sure if FavoritesChanges is important, but it is a counter as are some of the other values there. 

    But anyway, that's where the "other" part you were looking for is located.  You need both...  Good luck to you if you want to ADD something this way...yikes that could get ugly...but you should be able to initially configure things using this method.


    Thursday, June 10, 2010 1:35 AM
  • Hi,


    What is the application? Generally, some application can’t be pinned to the taskbar. Certain executable files as well as shortcuts that contain certain strings (for example,  "Help", "Documentation", "Install" and so on) in their name are automatically excluded from pinning. Meanwhile, if you have set the “Remove pinned programs from the taskbar” Group Policy, the application can’t be pinned. The pinned items are stored in the following paths:


    File system: %APPDATA%\\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar


    Registry : [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband]


    You may need to verify that the application is added to both of these locations.


    To pin a special application to the taskbar, you can visit the following guide:


    How to Pin Special Windows Items to the Taskbar


    Best Regards





    • Marked as answer by Dale Qiao Tuesday, June 15, 2010 1:39 AM
    • Unmarked as answer by Ralph S. Thomas Tuesday, June 15, 2010 10:54 PM
    Thursday, June 10, 2010 2:04 AM
  • Sorry, Dale, but this doesn't work for us, primarily because we cannot use the "P&in to" verb with a shortcut that's a URL.


    Tuesday, June 15, 2010 11:19 PM
  • Mike, thanks for offering a useful "Plan B".  Using the information you provided, I've tried creating two group policy preference items in our GPO: one for the Shortcut in the User Pinned folder, and one for the Registry item.  I got the hex data for the ProgramsCacheSMP value by exporting the key to a file first.  Here's a paste from the GPMC:

    Shortcut (Path: %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\MyAppShortcut)
    MyAppShortcut (Order: 1)
    Action Update
    AttributesTarget type File system object
    Shortcut path %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\MyAppShortcut
    Target path "%ProgramFiles%\Internet Explorer\iexplore.exe"
    Arguments http://myapp.internal.domain/ 
    Start in "%ProgramFiles%\Internet Explorer"
    Icon path "%ProgramFiles%\Internet Explorer\iexplore.exe"
    Icon index 12
    Shortcut key None
    Run Normal window

    Registry item: ProgramsCacheSMP
    Action Update
    PropertiesHive HKEY_CURRENT_USER
    Key path Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage2
    Value name ProgramsCacheSMP
    Value type REG_BINARY
    Value data 01O0O0O00xO0O0O0011x03O0O014O01f80x827341f105c1042ax032ee45287d66858O031O0O0O0O0O0xf3c7aaf11O053544152544d7e31O0O04O0O08O004O0xfbecf3cbca9cf3c7aaf2x00O0O078x00O0O0O0O0xO0O0O0O0O0O0O0O0O0O0O0O0O0O0O053O074O061O072O074O04x0065O06x0075O0O0O018O0xO0232O04x09O0O0xf3c73af2O00456e73656d626c652e6c6e6x00O046O008O004O0xfbecf3c7aafcf3c7aaf2x00O0O079x00O0O0O0018O0O0O0O0O0O0O0O0O0O0O0O0O0O0O045O06x0073O065O06x0062O06x0065O02x006x006x006x00O0O01x008x00O0O01x00xfbx02O04x0069O063O072O06x0073O06x0066O074O02x0041O075O074O06x0047O065O06x0065O072O061O074O065O064O02x007x0043O03O0042O03O0037O037O045O035O02x0031O03O0037O042O02x0044O035O039O038O02x0045O042O041O041O02x0044O046O044O039O034O043O039O046O039O044O037O037O07x00O0O01x00x40105O00xO0xfbx00O0O0O0O0O0O0O025O05O0072O06x0067O072O061O06x0046O069O06x0065O073O025O05x0049O06x0074O065O072O06x0065O074O02O0045O078O07O006x006x0072O065O072O05x0069O065O078O07O006x006x0072O065O02x0065O078O065O0O0O0O0O0O0O04x0069O063O072O06x0073O06x0066O074O02x0041O075O074O06x0047O065O06x0065O072O061O074O065O064O02x007x0043O03O0042O03O0037O037O045O035O02x0031O03O0037O042O02x0044O035O039O038O02x0045O042O041O041O02x0044O046O044O039O034O043O039O046O039O044O037O037O07x00O0O068O074O074O07O003x002x002x0063O06x0069O073O07O0072O077O065O062O02x0041O044O0O0O0O0O0O0O0O0O0O0O0x119a414d60xcx01O0O0O0O001O0O0O0O0O0O0O07x0037O043O035O041O034O03O0045O046O02x0041O03O0046O042O02x0034O042O046O043O02x0038O037O034O041O02x0043O03O0046O032O045O03O0042O039O046O041O038O045O07x005x0049O06x0074O065O072O06x0065O074O02O0045O078O07O006x006x0072O065O072O05x0069O065O078O07O006x006x0072O065O02x0065O078O065O0O0O0O0O0O0O01x00O0O002
    [Note: that is not the actual Value Data.  I obscured the real data because I don't trust the Internets.  But it *looks* like the real data.]

    Unfortunately, that doesn't seem to work, so I think I'm missing something.  I'll keep fiddling with it.  Thanks!


    Tuesday, June 15, 2010 11:36 PM
  • Well, that's upsetting...  I thought it would work and it seemed like it would work...

    Well, for what it's worth, I did tell the MS folks I saw at MMS this year that they needed to add this feature directly into GPP.  Not sure how much influence one voice in the crowd will have with them...but perhaps this is one of those things that we all could make happen because this could certainly be a useful method.


    Monday, June 21, 2010 12:09 PM
  • Hi Ralph,

    I dont know how useful this is for you now. But I tried it in my repro environment for a customer and I was able to get this working. However, the customer wanted to allow users also to pin their favorite apps which is not possible if we do this through preferences as we are dealing with registry values and it is not possible to append to a registry value unless done programatically. So if still interested then please read on:

    I have consolidated the steps we need to carry out to deploy this:


    1.       Please take a machine and pin all the applications you want to. Take an export of: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartPage2.

    2.       Create a new GPO.

    3.       Browse to: User Configuration --> Preferences-->Windows Settings--> Shortcuts

    4.       Under shortcuts àright click and click Newàshortcut

    5.       Set Action field to create.

    6.       Now open the properties of the pinned application on the base machine.

    7.       Now on the GPP set the Name field of the shortcut as C:\Users\%username%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu\<Name of the app pinned to start menu on the base machine>

    8.       Now let the Target Type be File System Object which should be selected by default.

    9.       Set Location as <Specify Full Path>

    10.   Copy the Target field data from the pinned applications property à shortcut tab and paste it to the Preferences shortcut’s Target Path.

    11.   Copy the Start in, Shortcut key, Run, Comment from the pinned application’s property.

    12.   Lastly on the pinned application’s properties à Shortcut tab, click on Change icon and copy the icon path to Icon file path in the preferences shortcut. Click Apply and OK.

    13.   Once this is done. Let us take a backup of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 from the machine running GPMC and then import the key we exported from the original machine in step 1.

    14.   Select Registry under preference and right click NewàRegistry Item.

    15.   Set Action to Replace.

    16.   Select Hive as HKEY_CURRENT_USER and click on Browse button to select the key.

    17.   Now browse to HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 and select ProgramsCache. Click apply and then OK.

    18.   Please repeat 14-17 for the below keys.

    - FavoritesResolve

    - Favorites

    - FavoritesChanges

    - FavoritesVersion

    - ProgramsCacheSMP


    Please make sure that these registry keys are applied in the same sequence or this may not work properly. The order should be like this:

    1. ProgramsCache

    2. FavoritesResolve

    3. Favorites

    4. FavoritesChanges

    5. FavoritesVersion

    6. ProgramsCacheSMP

    Please test this and share your feedback.


    A bit of background on this although a lot has already been talked about in previous posts but thought of sharing my findings while I tested this.


    When we pin an application to the start menu, the shortcut goes and sits under C:\Users\%username%\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\StartMenu. This provides the shortcut but will not pin it to the start menu unless the link is created in the registry. The registry key responsible for the link creation is: HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartPage2 and the values that hold different type of information about the pinned applications are: ProgramsCache, FavoritesResolve, Favorites, FavoritesChanges, FavoritesVersion and ProgramsCacheSMP while ProgramsCacheTBP is for pin to Taskbar. These values also follow a certain sequence which if broken will not get us the desired results.


    Creating an ADM template for this is very difficult as we will have to change several keys under one policy and also because most of these values are Reg_Binary which are nearly impossible to append. The second option is scripting this which has already been discussed in one of the above posts. So for those who don't want to script this and where the users dont have to pin their apps, the best solution at this point is to apply GPP as described above.


    Hope this helps.


    Naresh Negi (MSFT - Windows Performance Team)
    Tuesday, September 28, 2010 3:45 PM
  • This is all I do:

    reg load HKU\mydefaultuser c:\users\default\ntuser.dat
    rem (contains [HKEY_USERS\mydefaultuser\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband])
    reg import taskband.reg
    reg unload HKU\mydefaultuser

    copy /y *.lnk "C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar\"


    • Edited by JS2010 Thursday, September 8, 2011 2:49 PM
    Tuesday, September 28, 2010 6:21 PM
  • I'm attempting to follow your instructions but have become confused. Specifically, I'm trying to create a shortcut to Word and Powerpoint on the taskbar. Maybe if I ask teh questions you can clarify your post and clear up a few things. I'll use your numbering as what you've written makes sense, but I think youve jumped a couple of steps. As well, shortcuts to microsoft word seems to have specific information missing in the properties that i'd liek.

    9) set the location as <specify file path>. I assume you mean that the file path should be entered. Correct?

    13) The machine I created the exported value from is the same machine I'm creating the GPO on (using RSAT). What exactly are you saying here? At the moment I read it as 'export the key then import it back into the same machine". Should I be doing something on a different machine?

    14-17) I assume I'm suposed to be creating new registry values every time for this. is this right? At the moment the instructions suggest I should keep changing the value of teh same registry item. Would you prefer I used the registry wizard to create all teh values in one go?

    I can see that what you are instructing me to do will create what I want, I just need clarification on these issues.

    • Edited by mattstarczak Thursday, September 30, 2010 6:51 AM clarity
    Thursday, September 30, 2010 6:06 AM
  • Hi,

    Looks like I managed to confuse you there :). This is a paper I created for one of the customers and just copied it here from word, so somethings may not have come out exactly as I have in word. Nevertheless, I have tried to answer your queries below:

    Answers to your Qs:

    9) set the location as <specify file path>. I assume you mean that the file path should be entered. Correct?

    A: By <specify file path> I mean <specify file path>  the option in the drop down and not the path of the file as that is a drop down field and won't let you type or paste anything.

    13) The machine I created the exported value from is the same machine I'm creating the GPO on (using RSAT). What exactly are you saying here? At the moment I read it as 'export the key then import it back into the same machine". Should I be doing something on a different machine?

    A: If it is the same machine then you can ignore this step.

    14-17) I assume I'm suposed to be creating new registry values every time for this. is this right? At the moment the instructions suggest I should keep changing the value of teh same registry item. Would you prefer I used the registry wizard to create all teh values in one go?

    A: Are you trying to do this in the registry? You need to do all this in the GPP and not through regedit. I am not familiar with registry wizard; is it also capable of creating registry shortcuts in Group Policy?

    Naresh Negi (MSFT - Windows Performance Team)
    Friday, October 1, 2010 7:11 PM
  • @ Naresh Negi >>
    I followed your outlined instuctions exactly and still did not get this to work. Can you provide any further assistance with this?
    Thank you.

    @ Ralph S. Thomas >>
    Did you get this to work?

    Monday, April 11, 2011 7:11 PM
  • Your guide worked a treat thanks very much you saved me a lot of head aches!!
    Friday, May 6, 2011 8:26 AM
  • Hi Naresh


    Thanks for your post - very detailed.


    I followed your guide step by step, it created the item in the Start Menu, but it doesn't actually work... the Icon is just blank, i.e it's suppose to be Outlook 2007 - the Icon says "Outlook 2007" it's just grey, if I right click and look at the properties I can verify that the path to the file does contain the shortcut as well.


    Any ideas?




    Wednesday, September 7, 2011 10:41 PM
  • Pinning items to the taskbar and start menu is not easy, and in some situations they can easily break.

    As has been mentioned, the 'Pin to Start Menu' option doesn't appear on lnk files, only executables etc. If this is the issue you could create a batch file to run the required application and then pin that.

    We did initally plan to pin items for users but this has proved to be so problematic we now don't bother. When we did, we used a Powershell module called PinnedApplications.psm1 that is available on the internet which was called during login to pin the items.

    The other way that this can be done is by configuring the sysprep.xml file to create the required pinned items.

    The major issue we have with Pinned items is that fact that we use APPDATA redirection, but not roaming profiles, so the shortcuts are created on the file store that is available on any workstation, but the required registry entries remain on the original workstation and so just display broken links on any desktop that isn't the one they were created on which caused no end of complaints and confusion.

    Thursday, September 8, 2011 8:24 AM