This discussion has been locked. The information referenced herein may be inaccurate due to age, software updates, or external references.
You can no longer post new replies to this discussion. If you have a similar question you can start a new discussion in this forum.

[Tool]ARM Template Generator V2 - Updated 22/11/21

Hi everyone,

I am pleased to announce the availability of the second version of the ARM Template Generator Tool.

The documentation is now included in the download package.

What´s new?

- Interface redesign

- Darkmode

- Support for User Template Import

- Option for creating a User Template based on an existing Account

- Support for Group Template Creation & Import

- Support for Open Template Creation & Import

- Help links now open in Browser and have been updated

- Tooltips and watermarks throughout the tool

- GUI for building creation rules

- Added selection of premade validation rules

- Added REGEX cheat sheet

- Multiple values are now configurable for Exchange Database and Policy fields

- Script parameter fields make autocomplete suggestions based on configured properties

- Added out of order navigation

Since i can only test so much on my own I would ask everyone using the Import feature to keep backups of the original template files or just not save over them, at least for now.

If you have any issues or see wonky behaviour please let me know, preferably with a detailed description of the expected and actual behaviour.

The old version will stay available under the old link for now.

Changelog 21/06/19:

- fixed an issue while importing templates with completely missing modules section

- fixed an issue with loading and writing the first parameter of the regexpr method

- fixed an issue with dragging list items into the builder UI when their index in the list is higher than the highest index that is displayed by default

Changelog 26/07/19:

- made sure the import function respects the order of AD Attributes (should have been the case before, if you see anything to the contrary let me know)

- added buttons for re-ordering AD Attributes

- fixed issue with the import and export function reading/writing the "IsScriptEnabledDefault" property in the scriptoptions as "IsScriptEnabledByDefault" (note that when you import a template with the faulty property name the value will have to be reconfigured manually)

Changelog 23/08/19:

- fixed a crash after editing lookuptables

- added minimum length field to password options - changed default value from 12 to 8

Changelog 25/03/21:

- added a check to ensure uniqueness of lookuptable names

Changelog 09/04/21:

-fixed crash when editing MultiValueTextField

-fixed issue with creationrules not automatically saving when using out of order navigation

-added newline variable token in creationrule builder (linebreaks in imported templates are parsed to type hardcoded text instead of the token)

Changelog 22/11/21:

-fixed nullpointer exception

-changed input validation on domain field to allow fqdns with digits in the tld

Download Link:


*note: the 1 detection is most likely a false positive, apart from an added catch clause and a change to a regex nothing changed from the last release (which had 0 detections)

Virus Total (new) / VirusTotal (Old)

Here´s a glimpse of the new interface:


  • Hi,

    I'm trying to get this to work, however I'm having some difficulty with the username creation. Our usernames are the first 3 letters of the surname and the first 3 letters of the first name.. so for example, if the user was James Dean, his username should be deajam. How do I set this in the template??

    At the moment its taking the first letter of the firstname. surname...

  • Hi bevan,

    this creationrule should work for your case:


    it selects the first 0 to 3 characters of sn and firstname, the 0 to 3 part is important in case you have names that are less than 3 characters long.



  • Thanks Paul,

    That worked successfully!

    Last question, is it possible when creating the exchange mailbox as part of the template that it applies our corporate retention policy to the newly created  mailbox?

    I thought I could make use of the Exchange Scripting Agent, however it looks like its not being called when creating a user based off a template in ARM. Works when i manually create a mailbox in exchange though.

  • Hi Bevan,

    the way to do this is to use the script execution you can define in the template and set the retention policy in that script (for example via powershell: set-mailbox -retentionpolicy "policyname").



Reply Children
No Data