Is there anyway to pin shortcuts to the toolbar or start menu for all user profiles in Windows 7? K2000
I'm trying to figure out how to customize the image so that I can pin shortcuts to the start menu or toolbar for all users profiles. They are all on the domain. The toolbar would be the most useful for what I'm trying to accomplish. I've looked around the Microsoft site and from what I have found it's a per user deal, but I know some awesome Kace user could help me out here.
Thanks,
Jeremy
Answers (7)
I have used this in the past and quite like it. Just place the script in the startup so that the first time a user logs on it customizes the task bar with the icons you want then it removes itself. I havent tried but I am sure you could deploy the script using the K1000 scripting also. http://blogs.technet.com/b/deploymentguys/archive/2009/04/08/pin-items-to-the-start-menu-or-windows-7-taskbar-via-script.aspx
I have used this in the past and quite like it. Just place the script in the startup so that the first time a user logs on it customizes the task bar with the icons you want then it removes itself.
I havent tried but I am sure you could deploy the script using the K1000 scripting also.
http://blogs.technet.com/b/deploymentguys/archive/2009/04/08/pin-items-to-the-start-menu-or-windows-7-taskbar-via-script.aspx
you need to specify this in your sysprep unattended file:
If you want to pin multiple items just increment the task link number.
note: product key is a KMS key
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CopyProfile>true</CopyProfile>
<ShowWindowsLive>false</ShowWindowsLive>
<TimeZone>Pacific Standard Time</TimeZone>
<ProductKey>33PXH-7Y6KF-2VJC9-XBBR8-HVTHH</ProductKey>
<TaskbarLinks>
<Link0>%ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\Mozilla Firefox.lnk</Link0>
</TaskbarLinks>
<WindowsFeatures>
<ShowInternetExplorer>true</ShowInternetExplorer>
<ShowMediaCenter>false</ShowMediaCenter>
<ShowWindowsMediaPlayer>false</ShowWindowsMediaPlayer>
</WindowsFeatures>
1) When a new user logs in it will be copied to their profile startup folder
2) unpins then pins if required (what ever order they are pinned in the script is the order they will be on the start menu.)
2) Once the script runs it will delete itself.
I can't remember when I got the script from but kudos to who wrote it.
Hope this helps
-------------Script------------------
Option Explicit
Const CSIDL_COMMON_PROGRAMS = &H17
Const CSIDL_PROGRAMS = &H2
Const CSIDL_STARTMENU = &HB
Dim objShell, objFSO
Dim objCurrentUserStartFolder
Dim strCurrentUserStartFolderPath
Dim objAllUsersProgramsFolder
Dim strAllUsersProgramsPath
Dim objFolder
Dim objFolderItem
Dim colVerbs
Dim objVerb
Set objShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objCurrentUserStartFolder = objShell.NameSpace (CSIDL_STARTMENU)
strCurrentUserStartFolderPath = objCurrentUserStartFolder.Self.Path
Set objAllUsersProgramsFolder = objShell.NameSpace(CSIDL_COMMON_PROGRAMS)
strAllUsersProgramsPath = objAllUsersProgramsFolder.Self.Path
' - Remove pinned items -
'Internet Explorer
If objFSO.FileExists(strCurrentUserStartFolderPath & "\Programs\Internet Explorer.lnk") Then
Set objFolder = objShell.Namespace(strCurrentUserStartFolderPath & "\Programs")
Set objFolderItem = objFolder.ParseName("Internet Explorer.lnk")
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If Replace(objVerb.name, "&", "") = "Unpin from Taskbar" Then objVerb.DoIt
Next
End If
'Windows Explorer
If objFSO.FileExists(strCurrentUserStartFolderPath & "\Programs\Accessories\Windows Explorer.lnk") Then
Set objFolder = objShell.Namespace(strCurrentUserStartFolderPath & "\Programs\Accessories")
Set objFolderItem = objFolder.ParseName("Windows Explorer.lnk")
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If Replace(objVerb.name, "&", "") = "Unpin from Taskbar" Then objVerb.DoIt
Next
End If
'Windows Media Player
If objFSO.FileExists(strAllUsersProgramsPath & "\Windows Media Player.lnk") Then
Set objFolder = objShell.Namespace(strAllUsersProgramsPath)
Set objFolderItem = objFolder.ParseName("Windows Media Player.lnk")
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If Replace(objVerb.name, "&", "") = "Unpin from Taskbar" Then objVerb.DoIt
Next
End If
' - Pin to Taskbar -
'Windows Explorer
'If objFSO.FileExists(strCurrentUserStartFolderPath & "\Programs\Accessories\Windows Explorer.lnk") Then
' Set objFolder = objShell.Namespace(strCurrentUserStartFolderPath & "\Programs\Accessories")
' Set objFolderItem = objFolder.ParseName("Windows Explorer.lnk")
' Set colVerbs = objFolderItem.Verbs
' For Each objVerb in colVerbs
' If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
' Next
'End If
'Internet Explorer
'If objFSO.FileExists(strCurrentUserStartFolderPath & "\Programs\Internet Explorer.lnk") Then
' Set objFolder = objShell.Namespace(strCurrentUserStartFolderPath & "\Programs")
' Set objFolderItem = objFolder.ParseName("Internet Explorer.lnk")
' Set colVerbs = objFolderItem.Verbs
' For Each objVerb in colVerbs
' If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
' Next
'End If
'Mozilla Firefox
'If objFSO.FileExists(strAllUsersProgramsPath & "\Mozilla Firefox\Mozilla Firefox.lnk") Then
' Set objFolder = objShell.Namespace(strAllUsersProgramsPath & "\Mozilla Firefox")
' Set objFolderItem = objFolder.ParseName("Mozilla Firefox.lnk")
' Set colVerbs = objFolderItem.Verbs
' For Each objVerb in colVerbs
' If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
' Next
'End If
'Microsoft Word 2010
'If objFSO.FileExists(strAllUsersProgramsPath & "\Microsoft Office\Microsoft Word 2010.lnk") Then
' Set objFolder = objShell.Namespace(strAllUsersProgramsPath & "\Microsoft Office")
' Set objFolderItem = objFolder.ParseName("Microsoft Word 2010.lnk")
' Set colVerbs = objFolderItem.Verbs
' For Each objVerb in colVerbs
' If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
' Next
'End If
'Microsoft Excel 2010
'If objFSO.FileExists(strAllUsersProgramsPath & "\Microsoft Office\Microsoft Excel 2010.lnk") Then
' Set objFolder = objShell.Namespace(strAllUsersProgramsPath & "\Microsoft Office")
' Set objFolderItem = objFolder.ParseName("Microsoft Excel 2010.lnk")
' Set colVerbs = objFolderItem.Verbs
' For Each objVerb in colVerbs
' If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
' Next
'End If
'Microsoft Outlook 2010
'If objFSO.FileExists(strAllUsersProgramsPath & "\Microsoft Office\Microsoft Outlook 2010.lnk") Then
' Set objFolder = objShell.Namespace(strAllUsersProgramsPath & "\Microsoft Office")
' Set objFolderItem = objFolder.ParseName("Microsoft Outlook 2010.lnk")
' Set colVerbs = objFolderItem.Verbs
' For Each objVerb in colVerbs
' If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
' Next
'End If
'Windows Media Player
'If objFSO.FileExists(strAllUsersProgramsPath & "\Windows Media Player.lnk") Then
' Set objFolder = objShell.Namespace(strAllUsersProgramsPath)
' Set objFolderItem = objFolder.ParseName("Windows Media Player.lnk")
' Set colVerbs = objFolderItem.Verbs
' For Each objVerb in colVerbs
' If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
' Next
'End If
'Delete the script
DeleteSelf
Sub DeleteSelf()
Dim objFSO
'Create a File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
'Delete the currently executing script
objFSO.DeleteFile WScript.ScriptFullName
Set objFSO = Nothing
End Sub
Option Explicit
Const CSIDL_COMMON_PROGRAMS = &H17
Const CSIDL_PROGRAMS = &H2
Const CSIDL_STARTMENU = &HB
Dim objShell, objFSO
Dim objCurrentUserStartFolder
Dim strCurrentUserStartFolderPath
Dim objAllUsersProgramsFolder
Dim strAllUsersProgramsPath
Dim objFolder
Dim objFolderItem
Dim colVerbs
Dim objVerb
Set objShell = CreateObject("Shell.Application")
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objCurrentUserStartFolder = objShell.NameSpace (CSIDL_STARTMENU)
strCurrentUserStartFolderPath = objCurrentUserStartFolder.Self.Path
Set objAllUsersProgramsFolder = objShell.NameSpace(CSIDL_COMMON_PROGRAMS)
strAllUsersProgramsPath = objAllUsersProgramsFolder.Self.Path
' - Pin to Taskbar -
If objFSO.FileExists(strAllUsersProgramsPath & "\Notes 8.5.lnk") Then 'path of the shortcut in start menu
Set objFolder = objShell.Namespace(strAllUsersProgramsPath &"\Applications") 'name of the folder in which the shortcut is placed in start menu
Set objFolderItem = objFolder.ParseName("Notes 8.5.lnk") 'Short cut name
Set colVerbs = objFolderItem.Verbs
For Each objVerb in colVerbs
If Replace(objVerb.name, "&", "") = "Pin to Taskbar" Then objVerb.DoIt
Next
End If
"modify the above vbscript according to your requirement"
There's also another way that you can try by just modifying your existing image or a test machine and add the shortcuts of programs to C:\Users\Default\AppData\Roaming\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar, then try to login with a domain user and see if the new profile created has the icons pinned to the taskbar.