programming4us
programming4us
DESKTOP

Windows Server 2008 and Windows Vista : Creating Custom ADMX and ADML Files (part 1) - ADMX Schema , ADMX File Structure , ADML File Structure

1/18/2014 12:47:46 AM

1. ADMX Schema

The rules of ADMX and ADML file creation and syntax usage are defined in the ADMX schema. The schema is a set of three files that define the elements and attributes, how the syntax is constructed, and how the ADMX and ADML files are used in conjunction.

You can download the ADMX schema files from http://go.microsoft.com/fwlink/?LinkId=86094. After downloading and installing the admxSchema.msi file, you will have three additional files that you can use to help design new ADMX and ADML files. These files, located at C:\Program Files\Microsoft Group Policy\admxschema by default, include:

  • BaseTypes.xsd

  • PolicyDefinitionFiles.xsd

  • PolicyDefinitions.xsd

These files can be used in conjunction with tools such as Microsoft Visual Studio to help create custom ADMX and ADML files.

Direct from the Source: A New Class Option for ADMX Files

With .adm templates, you have only two CLASS options: MACHINE and USER. If you were to create a registry-based policy setting that could apply to both the computer and user portions of the registry, you would have to include two POLICY descriptions that were exactly the same, but locate one in the CLASS MACHINE and one in the CLASS USER portions.

For ADMX files, a third option was added to the attribute for a policy setting. You can now write the policy setting once in the ADMX file and define the classBoth, such as Class=Both. This causes the GPME to display the policy setting in the exact same location, placed under the Computer Configuration and User Configuration sections. attribute to have a value of

The rest of the operations will apply. If the administrator configures the setting under Computer Configuration through the GPME, the policy setting will be saved as configuring the HKLM portion of the registry; for User Configuration, the configuration operation will cause the policy setting to configure the HKCU portion of the registry.

2. ADMX File Structure

ADMX files create the category structure and policy settings within the GPME. The overall structure of an ADMX file is shown in Figure 1.

Figure 1. The ADMX file structure is divided into seven main sections.


Table 1 explains the use of each section in the ADMX file.

Table 1. ADMX File Section Descriptions
SectionDescription
XML DeclarationRequired to validate as an XML-based file.
policyDefinitions ElementContains all other elements for the ADMX file.
policyNamespaces ElementDefines the unique namespace for this ADMX file. The policyNamespaces element also provides a mapping to external file namespaces if a reference to the category element is defined in a different ADMX file.
resources ElementSpecifies the requirements for the language-specific resources; the minimum required version of the associated ADML file.
supportedOn ElementSpecifies references to localized text strings defining the operating systems or applications affected by a specific policy setting.
categories ElementSpecifies categories under which the policy setting in this ADMX file will be displayed in the GPME.
policies ElementDefines the individual policy settings in the GPME.


3. ADML File Structure

The ADML files are responsible for defining the language-specific text that is shown in the GPME. These files are produced for each language that will be supported within your company (one file per language). The overall structure of the ADML file is shown in Figure 2.

Figure 2. The ADML file structure is based on XML.


Table 2 explains the use of each section in the ADML file.

Table 2. ADML File Section Descriptions
SectionDescription
XML declarationRequired to validate as an XML-based file.
policyDefinitionResources ElementContains all other elements for the ADML file.
resources Element (.adml)Contains a stringTable Element and a presentationTable Element for a specified language.

Warning

A stringTable element and a presentationTable element must be defined in the ADML file in order, as required by the ADMX schema: stringTable element followed by presentationTable element. The parser for the Group Policy tools will present an error if the order of these two elements is reversed.


Other  
  •  Windows 7 : Custom Libraries and Saved Searches (part 2) - Using Saved Searches
  •  Windows 7 : Custom Libraries and Saved Searches (part 1) - Creating Custom Libraries
  •  Windows 7 : Visualization and Organization - How to Make the Windows Shell Work for You - The Organizational Advantage of Libraries
  •  Windows 7 : Visualization and Organization - How to Make the Windows Shell Work for You
  •  Windows 7 : Understanding Libraries (part 2) - Special Shell Folders...Now Just User Folders
  •  Windows 7 : Understanding Libraries (part 1) - Virtual Folders 101, Libraries and Windows 7
  •  Windows Server 2012 MMC Administration (part 11) - Designing custom taskpads for the MMC - Creating navigation tasks, Arranging, editing, and removing tasks
  •  Windows Server 2012 MMC Administration (part 10) - Designing custom taskpads for the MMC - Creating and managing tasks
  •  Windows Server 2012 MMC Administration (part 9) - Designing custom taskpads for the MMC - Creating and managing taskpads
  •  Windows Server 2012 MMC Administration (part 8) - Designing custom taskpads for the MMC - Getting started with taskpads, Understanding taskpad view styles
  •  
    GTS - youtube channel
    video
     
    Video tutorials
    - How To Install Windows 8

    - How To Install Windows Server 2012

    - How To Install Windows Server 2012 On VirtualBox

    - How To Disable Windows 8 Metro UI

    - How To Install Windows Store Apps From Windows 8 Classic Desktop

    - How To Disable Windows Update in Windows 8

    - How To Disable Windows 8 Metro UI

    - How To Add Widgets To Windows 8 Lock Screen

    - How to create your first Swimlane Diagram or Cross-Functional Flowchart Diagram by using Microsoft Visio 2010
    programming4us programming4us
    programming4us
     
     
    programming4us