Generally if an app wasn't designed with policies in mind, the settings
But I am proposing hooking the registry *reading* API's, not the API's that
write to the registry. The user could enter whatever settings they want and
they would be written to the usual location in the registry, but if the
administrator had applied a group policy in the 'Policies' location, these
would take precedence over the user settings (which is how it should be
IMHO) It may cause a bit of user confusion as their settings would never
'take' but that would be a small price to pay in order to stop users
breaking things.
I understood your take on it, but I don't think that it will work out this
way in a lot of apps. Apps don't all read their settings each time they use
them. It's typical to read them once, and write them when they are changed.
However when a setting is changed, it is not necessary to re-read it (since
the app already has the change). Therefore in many apps, and possibly with
different behaviors even in a single app, the "restriction" won't take until
after the user closes the app, and then reopens it. And of course the user
can always change the setting each time they open the app - so it becomes
more of an annoyance than a restriction. Apps that are designed with policy
in mind are supposed to listen for a policy message, and reload policy
following a change event. This would not happen with the system you
describe. My guess is that the end result would be people changing settings
and leaving the app open, and possibly logging off less, in order to avoid
the annoyance.
In the cases where applications read their settings from the registry each
time prior to their use, this would probably work. But there is no reason
to assume this will be the case. Before taking the time to write this
fairly complicated code, I would test out this theory using regmon on the
desired apps and settings.
In the case decribed above, the user could change them all they want but
the settings would never be read by the application if an over-riding group
policy existed in the "policies" subkey.
Not really
I have seen situations where we want some users to have full access to
application configurations, while other users need to be locked down. This
would give us the option of using GP permissions to assign settings to some
users, while allowing other users full access to set their own
configurations.
I understand that this could be done using red-dot settings, but writing
the settings to a volatile section of the registry seems a more elegant
solution. Especially when you are talking about HKLM settings that are
applied to all users of that machine. In this case, a volatile setting is
much more desirable.
It's an interesting idea, but my feeling, having worked related issues
closely for a long time, is that even if implemented well, the results would
be inconsistent across apps and settings due to the freedom that
applications have as to how/when they read and retain their settings.
Another thing you might consider is denying write access to the keys into
which the settings are written, especially with HKLM settings. This can be
done with Group Policy as well, and it's more effective since the app cannot
make a change to the setting, and well-written apps should then deny the
change attempt internally as well. The settings can still be written using
ADM Templates or Policy Maker, and when using PM you can also eliminate the
tattooing affect.
The tattooing of the registry would become irrelevant as the keys that are
identified would be read from the 'policies' subkey. If this section did
not exist it would be read from the tattooed registry entries.
The "tattooing" is an artifact of the Microsoft registry
client-side extension (CSE). The Policy Maker registry extension is not
tied to the policy sections of the registry in this way, and allows you
to create custom settings by simply typing in the values into the GUI,
or using a registry browser.
More importantly, you can specify one of three modes for policy
application:
(1) remove the setting when it is no longer applied [this is like a blue
dot]
(2) do not remove the setting [like a red dot]
(3) set the setting one time only [a true preference]
And you can apply graphical per-item filtering using 25 categories of
filters.
The Policy Maker registry extension is part of the Policy Maker
Professional product, which we sell, however in the next minor update -
due out soon, the registry extension will be absolutely free of change.
Regards,
Eric Voskuil
Policy Maker
http://www.autoprof.com/policy
Thanks Eric. I'll take a look at it now.
Andy.
Great, let me know what you think.
Regards,
Eric