Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Disabled all the items in the 'All Programs' via GPO using Windows Server 2012

I have set "Remove common program groups from Start Menu" to Enabled.

Everything in 'All Programs' is now empty, how do I add specific items such as Internet Explorer, Notepad and Microsoft Word in the 'All Programs'?

share|improve this question

3 Answers 3

up vote 1 down vote accepted

You can't do this by using traditional Group Policies, but what you need to do is copy shortcuts (.lnk) to the appropriate directory.

You could achieve this by using Group Policy Preferences, or a startup / logon script etc.

If you're redirecting your start menu, then that's the location you need to copy your shortcuts into.

If not, then by default the start menu locations on Server 2012 are:

All Users

(NB: The GPO you've configured works by disabling this location. However, I'm leaving it here for info)

C:\ProgramData\Microsoft\Windows\Start Menu\Programs

Specific User

C:\users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

share|improve this answer
Thanks. What is the most common setup at the organisation where they can have own custom start menu? – I'll-Be-Back Oct 1 '13 at 10:10

You can do it easily via Group Policy's User Preferences setting Shortcuts (Your Group Policy\User Configuration\Preferences\Shortcuts).

Go through this step-by-step guide:

If you want to Pin a Program to Start menu via GPO, There is no direct Group Policy Preference setting to Pin Items to Start menu via GPO for all users but we can achieve it via Logon Script.

Check this guide:

share|improve this answer

I personally needed to add items from a network share to the local start menu, now all group policy's out there only add user specific start menu items and don't get stored in c:\programdata\microsoft\windows\start menu\programs\ our third party launch bar only looks at this directory so adding programs to the eduSTAR bar was impossible through group policy alone hence the need for an additional script and task.

using xcopy or robocopy threw errors and running the script as an admin would still give permission denied errors.

the answer for me was creating a scheduled task "on login" that runs any executable/script with admin privleges.

For me any customly installed programs are removed from the start menu each day using the following code, this isn't needed unless you want to forcefully remove all start menu items:

mkdir c:\temp
robocopy c:\programdata\microsoft\windows\start menu\programs c:\temp /e /MOVE /MINAGE:1
rmdir c:\temp /s /q

The next part of the code copies from the server share location with the shortcuts to the local windows start menu location.

robocopy "\\server\netlogon\StartMenuShortcuts" "C:\programdata\microsoft\windows\start menu\programs" /is /e

Now with all your shortcuts within the server share's folder "StartMenuShortcuts" can be named anything i just named it this for ease of reading, each time someone logs in it will remove all the shortcuts currently in the start menu and replace them with the shortcuts in the "StartMenuShortcuts" folder, allowing you to enforce and add/remove anything you want, the /is parameter won't copy if its already in the location, due to all shortcuts being extremely small this has little to no impact on login performance.

I've also used this method to run vbs scripts that call msi files that require elivated privleges, Scheduled tasks are much more powerful when accompanied with login scripts as it runs before the user see's their desktop (handy if you want to hide your login scripts cmd window)

anyways hope this helps, I wish i worked this out years ago, would of saved me weeks of work.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.