ADM File Utilities 2.5


ADM File Utilities requires ActivePerl version 5.6.1 for Windows workstations.

ADM File Utilities will "decompile" an .ADM file, letting you use explorer as a drag-and-drop interface to customize it's appearance, as well as allow you to add in new policies just by inserting a text file in the appropriate directory and running the "recompiler" script.

New Release Notes:

For v2.5

  1. Changed ADM, Un-ADM, and Un-ADM to work in the .\working directory instead of the current directory.
  2. Created the Policy Locater Text Editor Plug-in. This will allow you to open up the policy text files that have been Un-ADMed from a list,without having to use the open command.

The version jumped from 2.3.1 to 2.5...2.4 didn't work right ;).

For v2.3.1
There was a bug in the Hide-Drives utility for the text editor. The only file updated is HideD.tep.

For v2.3.121702

  1. Completed the refinement of the plug-in process. Now you will be able to name your plug-in with any valid filename, and it will work.
  2. New version of CCBCUSER.ADM has been added. This fixes a few issues with the last one. If you are using CCBCUSER.ADM, and have not already received this file, you will probably want to update your policies.
  3. The main window now takes focus when the app is loaded.
  4. Added a "Last Action" bar to the bottom of the main window. It will tell you when a script has finished running, and you can use the main window again.
  5. Added a "Launch MMC" option under Tools (for you folks who use group policies).
  6. Added entries in the Config page to allow you to change the path to explorer (for the readme), change the path to MMC, and reset all registry settings for the ADM File Utilities back to their defaults (except the paths to ConsoleOne, MMC, and Explorer.
  7. Added a "developer's doc". This version is still in progress. If you wish to develop plug-ins for the ADM File Utilities, and you have any questions, e-mail me.

For v2.2.100802

Added the Quick ADM Structure Checker script (

  1. Reworked the method the GUI uses the registry so it would work with future revisions.
  2. Fixed an issue where some scripts (through the GUI) were not updating the registry.
  3. Refined the "plug-in" process. Now, the GUI builds itself dynamically each time it is loaded. (I will refine some of the names in the code, and release a developer's doc with the next release, should anyone wish to develop plug-ins)
  4. Added the Hide Drives wizard to the text editor. Now creating custom "Hide Drives" policies is simplified! Just go into the text editor,select Tools/Hide Drives Wizard, click on the drives you want to hide, and whether or not you wish it to start a new policy, or be a part of an existing one, and it will spit out the neccessary text.
  5. Added the Registry Import plug-in for the text editor. Please note that this plug-in is still in it's beginning stages, it will only create checkbox PART statements at the moment. More functionality will be added later, I just figured I'd include the current iteration with this release.
  6. Drag and Drop into the text editor! Now you can drag a text file from explorer, drop it in the text editor window, and it's content swill be added to the window!

For v2.1.091902- Major Change!

Reworked the GUI, and made the following changes:

  1. Instead of buttons, I now have cascading menus.
  2. Inside of each cascading menu, I now have a most recently used list, saved in the registry, for each script.
  3. The path to ConsoleOne is now saved in the registry as well.
  4. Implemented a simple text editor, for working with the files, giving me the ability to have wizards.
    1. Implemented a Hide Drives Wizard
  5. Re-sized everything so that it would fit on the screen at 800x600 properly

For v2.0.090902
Added the graphical interface for the scripts! Just double click on, and away you go! The scripts and the GUI are in separate files, but will be kept at the same revision. Should I update any script, it's GUI version will be updated as well, so you can use whichever you like.
That's right! I wrote up a GUI for the ADM Utils!! You will still need ActivePerl installed, but now, all you have to do is unZip the file into your working directory, and double-click on, and then click the button corresponding to the script you need, then enter the information required, and it runs the scripts for you. I also added a button to launch ConsoleOne.

For V1.6.083102 - Three new scripts!

  1. Added the Quick ADM Report script. This will allow you to generate an HTML file with the categories and policies for quick reference. (The HTML doc will be the same name as the ADM file)
  2. Optimized error checking. The scripts will now not run if you do not use a valid ADM file (well, you can still fool it if you like, but it won't run if you mistype something now), or enter in any incorrect information when needed (such as a proper classname with
  3. Added the script. This script will go through the standard unadm process, and will also remove all of the statements in the XP ADM's that are not supported in ConsoleOne (the EXPLAIN statements, and so forth. Also, it will change all 10 digit MAX statements to 999999999).
  4. Added the script. This script will remove all of the unsupported statements from within a Windows XP ADM file, so it can be used in ConsoleOne.
  5. Un-ADM and Un-ADMXP will only look for CLASS USER and CLASS MACHINE statements, as opposed to just CLASS statements. This was only a problem with the XP system.adm, and it's explain statements, which were spanning over multiple lines)
  6. Un-ADM and Un-ADMXP were having some trouble with backslashes in string names. The scripts now change all backslashes to double-backslashes, do the string substitution, and change them back. You should see no difference, except that things are working correctly now.
  7. ADM will now capitalize all of the letters in the CLASS statement, even if you did not type them in that way.

Currently, the only scripts that filter out the junk in the XP ADM files are Un-ADMXP and Un-XP.

For V1.5 081302

  1. Fixed an error in by putting a counter in for CATEGORY and END CATEGORY statements. Now, instead of adding three END CATEGORY statements to the end of the file, it subtracts the amount of END CATEGORY statements from the amount of CATEGORY statements, and prints the number of END CATEGORY statements needed to close the file properly, so you should no longer get any errors when dealing with smaller adm files.
  2. Cleaned up all of the scripts so you would not receive any warnings should you have perl warnings turned on, and you type in the proper command line arguments.

For V1.4 080602

  1. Added ADM Splitter Script for splitting up ADM files into user and machine ADMs.
  2. Added ccbcuser.adm, an example class user adm file that includes most available user policies, including those for XP.

For V1.3 080302

  1. Added the ADM File Joiner Script to the utilities to combine two ADM files as one.
  2. Started using version numbers that include the date of release...makes it much easier to track.

For V1.2

  1. KEYNAME and VALUENAME List Creator added. This will allow you to track multiple keyname entries and valuename entries and help tracking any duplicates you may have created.
  2. Adm will now create a file called 'tmp.tmp' for it's temporary operations instead of 'tmp.adm'.

For V1.1

  1. Un-Adm now filters out all characters that can not be part of a filename from the strings.   This way it can not hang up on any entries when creating filenames.
  2. Un-Adm now creates a filename in each directory called "catkey.diz"   This is a plain text file that contains the category's keyname.   Previously, we were trying to put the category keyname in the policy file, provided there was no KEYNAME entry in the policy itself.   The problem was that a keyname can be inside a PART, which is in the policy, so it would not write the category keyname.   if there were multiple parts, and one did not have a keyname, it would error.


  1. Adm now reads in the catkey.diz file for each directory and places it as the keyname entry for it's respective category.

See this article for additional information.


Comment List