How to deploy Windows 7 Taskbar Pinned Icons by Group Policy

 

Question: How to deploy Windows 7 Taskbar Pinned Icons by Group Policy

Answer: Windows 7 taskbar pinned icons are stored in the following locations:

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

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

To deploy it, you can perform the following steps:

  1. Configure Pinned items on a Windows 7 system as a reference computer.
  2. Export Reigstry Key to pinned.reg file:
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Taskband]
  3. And copy items in the “%APPDATA%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar” to a shared folder.  

Create a logon script to deploy the registry keys and copy the corresponding files.

More Information
If you want to pin items to the Start Menu, you may refer to the following script:
Pin Items to the Start Menu or Windows 7 Taskbar via Script

http://blogs.technet.com/deploymentguys/archive/2009/04/08/pin-items-to-the-start-menu-or-windows-7-taskbar-via-script.aspx

 

11 thoughts on “How to deploy Windows 7 Taskbar Pinned Icons by Group Policy

  1. One of the fine features of Windows 7 is Superbar. It lets you pin programs to the taskbar, similar to pinning programs to Start menu in earlier version of Windows 7.

  2. The above didn’t work for me…

    I ended up finding and adapting the below VBS script that gets kicked off on login. Replace File locations as needed. In order for this to work you have to have a .lnk file in the sOriginFolder location ( K:\example\example below ) to copy down to the C:\temp location to run.

    ‘Copy Quicklink to C:\temp

    Dim sOriginFolder, sDestinationFolder, sFile, oFSO
    Set oFSO = CreateObject(“Scripting.FileSystemObject”)
    sOriginFolder = “K:\example\example”
    sDestinationFolder = “c:\temp\”
    For Each sFile In oFSO.GetFolder(sOriginFolder).Files
    If Not oFSO.FileExists(sDestinationFolder & “\” & oFSO.GetFileName(sFile)) Then
    oFSO.GetFile(sFile).Copy sDestinationFolder & “\” & oFSO.GetFileName(sFile),True
    End If
    Next

    ‘Pin to Start Menu

    Set objShell = CreateObject(“Shell.Application”)
    Set objFolder = objShell.Namespace(“C:\temp”)
    Set objFolderItem = objFolder.ParseName(“Sharepoint.lnk”)
    Set colVerbs = objFolderItem.Verbs
    For Each objVerb in colVerbs
    If Replace(objVerb.name, “&”, “”) = “Pin to Taskbar” Then objVerb.DoIt
    next

    ‘Delete quick link in c:\temp

    Set obj = CreateObject(“Scripting.FileSystemObject”) ‘Calls the File System Object
    obj.DeleteFile(“C:\temp\Sharepoint.lnk”) ‘Deletes the file throught the DeleteFile function

    ————————————————————————————————————————–
    While the above works great, if you have a mixed environment of any kind you will want to use the below script to determine the OS and then run the proper script based on said OS. The below script will determine what the system OS is and if Server 2003 do nothing and if Windows 7 run the above script to pin the .lnk file to the taskbar.

    ‘ Purpose VBScript to discover the operating system version
    ‘ Author Guy Thomas http://computerperformance.co.uk/
    ‘ ————————————————————–‘

    Option Explicit
    Dim objWMI, objItem, colItems
    Dim strComputer, VerOS, VerBig, Ver9x, Version9x, OS, OSystem

    ‘ Here is where we interrogate the Operating System
    ‘ On Error Resume Next

    ‘ Get the computer name dot = this computer.
    strComputer = “.”
    ‘ This is where WMI interrogates the operating system
    Set objWMI = GetObject(“winmgmts:\\” & strComputer & “\root\cimv2”)

    Set colItems = objWMI.ExecQuery(“Select * from Win32_OperatingSystem”,,48)

    ‘ Here we filter Version from the dozens of properties
    For Each objItem in colItems
    VerBig = Left(objItem.Version,3)
    Next

    ‘ Spot VerBig variable in previous section
    ‘ Note the output variable is called OSystem

    Select Case VerBig
    case “6.1” OSystem = “Windows 7”
    case “6.0” OSystem = “Vista”
    Case “5.2” OSystem = “Windows 2003”
    Case “5.1” OSystem = “XP”
    Case “5.0” OSystem = “W2K”
    Case “4.0” OSystem = “NT 4.0”
    Case Else OSystem = “Unknown – probably Win 9x”
    End Select

    ‘ Actual Branching section
    If OSystem = “XP” Then
    Wscript.Echo “Upgrade to Windows 7!”
    Else If OSystem = “Windows 2003” Then
    Wscript.Quit
    Else If OSystem = “Windows 7” Then

    Dim objShell
    Set objShell = Wscript.CreateObject(“WScript.Shell”)

    objShell.Run “K:\example\example\sharepoint_taskbar.vbs”

    ‘ Using Set is mandatory
    Set objShell = Nothing

    End If
    End If
    End If

    WScript.Quit

    ‘ End of script

  3. I don’t know VBS so trying to fill in the blanks on these scripts is proving problematic. What parts of the above script need to be changed to fit my environment?

  4. Simply trying to pin items to taskbar (Microsoft Word, Excel, PPT, Outlook).
    I will need to do this for all users that log into machine in domain environment.
    The links that talk about creating VBS don’t give rookies enough info on what needs to be changed within the script to fit their environment.

    I’ve read the two below but still can’t configure it out.
    http://blogs.technet.com/b/deploymentguys/archive/2009/04/08/pin-items-to-the-start-menu-or-windows-7-taskbar-via-script.aspx
    https://desktopdeploy.wordpress.com/2010/04/22/how-to-deploy-windows-7-taskbar-pinned-icons-by-group-policy/

  5. Any thoughts on this?
    I need to pin all the office product links to the taskbar for all users in my domain.
    I’d prefer to make this happen at the PC (Windows 7) level and not push out a group policy but if you can show me step by step for group policy preference using Server 2000 then please do.

  6. Pingback: Interm I T Essex | How to deploy Windows 7 Taskbar Pinned Icons by Group Policy

Leave a reply to pinterest Cancel reply