Considering the fact that it's a Public folder shared for everyone, any change by one user is going to reflect on all computers.
The only way to maintain what you want to do is as you suggested; on a per-user basis.
In a nut-shell, currently, you can't do this.
There is no Group Policy or Preference to set this, and the way it keeps track makes it specific to the current user and the system, making the 'settings' vary greatly from instance to instance.
They are stored here (in the registry) if you want to check it out: HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify
.
From here:
There is no way for applications to programmatically always show themselves top level on the system tray either on first install or at any time during runtime. This is one of several changes we’ve made in Windows 7 in an effort to produce a cleaner, quieter desktop that is in the user’s control to customize the top level with their favorite applications and icons.
We keep the user in control of the notification area by not allowing programmatic promotion (other than temporarily or to show a notification). Assuming the machine is sufficiently quiet, when you first add your icon with Shell_NotifyIcon(NIM_ADD, ...) it will be shown on the taskbar for 45 seconds, then move into the overflow thereafter. If the user promotes an icon, it will always live on the taskbar. If the user demotes it, the icon will never be seen on the taskbar. Any promotion needs to be user initiated. We’ve made this much easier in Windows 7 via drag/drop & through the Notification Area Icons control panel, and what we’ve seen in usability studies and based on beta feedback, is that users have no difficulties discovering how to customize notification behavior and will promote the icons they want quick access to.
About your easiest bet is to show ALL Notification Area icons for all users. This can be done by adding a (simple) registry entry:
In HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
create a new DWORD value named EnableAutoTray
and set it to 0
to turn off the Notification Area's 'auto hide' features.
With some OU configuration and scripting you can use it in a HKCU context as well, if you only want it to happen for certain users/groups.
See here for more info on that.
Best Answer
There is no known way around it, but I know a little workaround: Select properties on the public folder, go to the security tab and revoke all permissions for your user profile, by dissalowing reading from it your account won't be able to see what shortcuts are inside \Public\Desktop\ - resulting in the behaviour you want - no icons/shortcuts will be loaded from it.