I know this is an old question, but it bubbled up and got me curious.
On a hunch, I tested the Group Policy setting NoCommonGroups, because it's documented function limits Start Menu items to those defined for the current user:
| Property |
Value |
| File |
startmenu.admx |
| Policy Setting Name |
Remove common program groups from Start Menu |
| Scope |
User |
| Policy Path |
Start Menu and Taskbar |
| Registry Information |
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer!NoCommonGroups |
| Help Text |
Removes items in the All Users profile from the Programs menu on the Start menu. By default, the Programs menu contains items from the All Users profile and items from the user's profile. If you enable this setting, only items in the user's profile appear in the Programs menu. Tip: To see the Program menu items in the All Users profile, on the system drive, go to ProgramData\Microsoft\Windows\Start Menu\Programs. |
I'm on Win10 Home, so I created the value via a registry edit and gave it a DWORD value of 0x00000001.
It worked. I had one Public/common item on my Desktop, a folder named "Reg Transfers", used for sharing .eg files between user profiles. It disappeared when the policy was applied:


But note that, as intended by the policy, a number of items have disappeared from the Start Menu as well. But if one wanted to pursue this, missing items could be copied from shell:Common Programs or shell:Common Start Menu.
I'm unfamiliar with Group Policy in a domain environment, so I don't know if a manually created value would be wiped out on login.
However, even though the key is under HKCU, modification requires Admin rights. :(
However, with sufficent rights or an accomodating IT department, you can merge a .reg file or create the value in code.
If you don't have access to the Group Policy Editor, this would be the .reg file to create and set the policy:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\SOFTWARE\Windows\CurrentVersion\Policies\Explorer]
"NoCommonGroups"=dword:00000001
Or you can copy & paste this code into an Admin PowerShell console:
$Splat = @{
'Path' = 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer'
'Name' = 'NoCommonGroups'
'Force' = $True
'ErrorAction' = 'Stop'
}
Try { If ( ! ( Test-Path $Splat.Path )) { [Void]( mkdir @Splat ) }}
Catch { Write-Host 'Command must be run from an Admin PowerShell Console.' }
$Splat.PropertyType = 'DWord'
$Splat.Value = 0x00000001
Try { [Void]( New-ItemProperty @Splat ) }
Catch { Write-Host 'Command must be run from an Admin PowerShell Console.' }