Administrative Template File (ADM) Format
The Group Policy Object Editor can obtain registry-based policy settings from an administrative template (.adm) file. An .adm file defines the property page the Group Policy Object Editor will display to allow the administrator to manage its settings. The file also indicates the registry location where the settings are stored.
If your application offers management capabilities through .adm files, it must store these policy settings under one of the following registry keys:
User-specific:
HKEY_CURRENT_USER\Software\Policies
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies
Computer-specific:
HKEY_LOCAL_MACHINE\Software\Policies
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies
For more information, see the following elements:
The following is a sample .adm file.
CLASS USER
CATEGORY !!LogonLogoff
; Most applications will use a registry key with the naming convention
; Software\Policies\CompanyName\ProductName\ComponentName
;
; For example: Software\Policies\Microsoft\Windows\Printing
KEYNAME "Software\Microsoft\Windows\CurrentVersion\Policies\System"
; This is a simple policy that sets DisableTaskMgr to 1 when enabled.
POLICY !!DisableTaskMgr
EXPLAIN !!DisableTaskMgr_Explain
VALUENAME "DisableTaskMgr"
END POLICY
; This is a simple policy that sets the numeric values based
; upon the policy state. When a policy is in the unchecked state,
; the value is removed from the registry. To write a value to the
; registry when the policy is unchecked, use the VALUEOFF keyword.
POLICY !!Run_Legacy_Logon_Script_Hidden
EXPLAIN !!Run_Legacy_Logon_Script_Hidden_Explain
VALUENAME "HideLegacyLogonScripts"
VALUEON NUMERIC 1
VALUEOFF NUMERIC 0
END POLICY
; This policy demonstrates some of the different PART types.
POLICY !!LimitSize
EXPLAIN !!LimitSize_Explain
VALUENAME "EnableProfileQuota"
PART !!SizeMessage EDITTEXT
DEFAULT !!DefaultSizeMessage
VALUENAME "ProfileQuotaMessage"
END PART
PART !!ProfileSize NUMERIC REQUIRED SPIN 100
VALUENAME "MaxProfileSize"
DEFAULT 30000
MAX 30000
MIN 300
END PART
PART !!IncludeRegInProQuota CHECKBOX
VALUENAME "IncludeRegInProQuota"
END PART
PART !!WarnUser CHECKBOX
VALUENAME "WarnUser"
END PART
PART !!WarnUserTimeout NUMERIC REQUIRED SPIN 5
VALUENAME "WarnUserTimeout"
DEFAULT 15
MIN 0
END PART
END POLICY
END CATEGORY
[Strings]
DefaultSizeMessage="You have exceeded your profile storage space.
Before you can log off, you need to move some items from your profile
to network or local storage."
DisableTaskMgr="Disable Task Manager"
DisableTaskMgr_Explain="Prevents users from starting Task Manager
(Taskmgr.exe).\n\nIf the user tries to start Task Manager, the system
displays a message indicating that the action is prohibited by a
policy.\n\nTask Manager lets users start and stop programs; monitor
the performance of their computer; view and monitor all programs
running on the computer, including system services; find the
executable name of a program; and change the priority of the process
in which a program runs."
IncludeRegInProQuota="Include registry in file list"
LimitSize="Limit profile size"
LimitSize_Explain="Limits the size of user profiles"
LogOnLogOff="Logon/Logoff"
ProfileSize="Max Profile size (KB)"
Run_Legacy_Logon_Script_Hidden="Run legacy logon scripts hidden"
Run_Legacy_Logon_Script_Hidden_Explain="This policy allows the legacy
(user-specific) logon scripts to run hidden."
SizeMessage="Custom Message"
WarnUser="Notify user when profile storage space is exceeded."
WarnUserTimeout="Remind user every X minutes"