How to… get a perfect Windows 7 managed Start Menu and Taskbar
April 2, 2012 10 Comments
Since we started testing Windows 7 we’d noticed that (amongst other things) Microsoft have it somewhat difficult to get a clean Start Menu and Taskbar set up for users without the detritus MS *think* we want to see on first logon.
We need to provide a standard desktop for training purposes that points users to Office, Internet browser and so on without distractions of the likes of Windows Snipping Tool or XPS Viewer. So we set off on a journey of discovery via Google to see how clever people on the Internet have got around the issue.
Initially we found the Microsoft XML Sysprep customisation method…
Looked OK at first but after testing but didn’t really work as we wanted…
- leaves the default junk in the Start Menu
- only adds 4 “recent” programs rather than pinned ones
- only allows adding 3 additional icons to the default taskbar items
Not good enough… so we keep going. There must be a better way… and there is!
This script gets around the original Sysprep method being a bit lame by placing Pinned items in the taskbar (and also allows you to remove the irritating default icons). We’ll run this on the boot before Sysprepping to remove Media Player (as we want IE and Explorer for now).
Update: a better way to use this script is in conjunction with the Start Menu pin script below to control both via logon script GPOs. The good thing about Brian’s script is that it can unpin the default taskbar icons (other methods can’t do this) If you remove the last section of the code the file won’t try to delete itself.
However I wanted even more control so I could change settings “on the fly” without needing to recapture the profile… can we make it better? Yes we can!
This very nifty set of scripts allows various customisations and works with MDT and suchlike…
Even better it can be run as a standalone VBS so we can add and remove items line by line via a user logon script. I’ve put the files into NETLOGON so I can easily reference the VBS file from a batch file containing the list of programs I want pinned.
I’ve separated them out for ease of management but you could easily do the whole lot in one go. Just put /taskbar at the end if you want them there (or leave the switch off for the Start Menu). It’s all documented within the VBS file so download it and have a play.
Update: it also appears that there’s a Powershell script that can do the same thing… take your pick…
Doing the customisations this way also means we can quickly respond to any requests from users needing additional pinned items as requirements change. Finally all we needed was to clear the default junk from the Start Menu before adding the new pinned items but that’s simple via GPO…
User Policy\Admin Templates\Start Menu and Taskbar – Clear the recent programs list for new users
Combine this with a few extra settings…
Et voila… you have a clean, managed Start Menu and Taskbar that, if used with a mandatory profile will reset at each user logoff and that you can quickly and easily customise without needing to re-create the profile.
Now Microsoft why couldn’t you have just done that in the first place!!!
Another update, this time courtesy of sonofsanta from the Edugeek forums who has provided some testing results when using the auto-pin code as a GPO logon script…
- Pinning to the Start Menu with the script above a) works b) does not create duplicates on subsequent logins
- If a user unpins any item forced via the script, it is reinstated next time they logon (albeit at the bottom of the list)
- Reinstated pinned items retain the Recently Used jump list
- Users can pin their own items to the Start Menu and these persist across sessions until they unpin them again