Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
AVSet.json Changed Schema from http to https and 2014 preview to 2015 Nov 23, 2018
ConfigDC.json Changed Schema from http to https and 2014 preview to 2015 Nov 23, 2018 Subnet-centric scenario Feb 7, 2016
LabSubnet.json Changed Schema from http to https and 2014 preview to 2015 Nov 23, 2018 New Release Feb 28, 2016
SetVNetDNS.json added location parameters May 15, 2018
Storage.json Changed Schema from http to https and 2014 preview to 2015 Nov 23, 2018
WinServ.json [AUTO-2018-10-05] adding file 301-subnet-driven-deployment/WinServ.json Jan 28, 2019
azuredeploy.json Updated as per bmoore fix in previous PR4987 Oct 17, 2018
confDomainMember.json Changed Schema from http to https and 2014 preview to 2015 Nov 23, 2018
metadata.json Merge pull request #5324 from varunbeesu/301-subnet-driven-deployment… Oct 17, 2018
start.ps1 Subnet-centric scenario Feb 7, 2016

Subnet-driven test lab

This template creates an environment with multiple subnets and the servers (one DC and two members) associated with. If the number of subnets varies, the servers are adjusted automatically.

The purpose of this template is to illustrate:

  • Use of array structures in order to maximize the reuse of the linked templates.

    • Subnet definition inside the vNet is done this way

    • The Window server template (WinServ.json) can accomodate any number of data disks because it receives them as a parameter

  • Use of outputs to get back unique IDs such as storage (instead of passing them as parameters).

  • A single template for all domain controllers. The CreateADC template with indx=0 creates the forest, with indx!=0 will add domain controllers.

  • Custom script extensions usage: Each server has chocolatey installed, in order to get diagnostics tools installed quickly, without changing IE protected mode, if the need arises.

  • BGinfo extension is installed on both domain controllers and member servers.

Changelog summary


  • A couple of dependancies optimizations (inspired by Simon's Sharepoint HA template, a must-see). Better decomposition of the templates.

  • Simplified parameters in the azuredeploy template. Internal names (such as VNet, loadbalancers) are generated automatically

  • New parameters

    • Number of subnets (no need to change the subnets array in the variables section anymore)

    • Number of member servers per subnet parameter added.

  • Premium storage option, for thoses who are in a hurry.


  • A minimum of two subnets is needed for this template to work

  • Distinction of the PDC from the BDCs when calling the DSC template (ConfigDC.json), is done by leveraging the function (n+2)%(n+1), which returns 0 if n==0, 1 if not. The suffix is appended to the base DSC function name, branching effectively between the two DSC configurations (CrateADC_0 & CreateADC_1)

  • If premium storage option is selected, the VMs are DS series

  • Created subnets are C class (==> 172.16.X.0/24)

Deploying the template


adminPasswordAdmin password
adminUsernameAdmin username
assetLocationThe location of resources such as templates and DSC modules that the script is dependent templates/master/301-subnet-driven-deployment/
dnsLabelPrefixUnique public DNS label for the deployment. The fqdn will look something like ''. Up to 62 chars, digits or dashes, lo wercase, should start with a letter: must conform to '^[a-z][a-z0-9-]{1,61}[a-z0-9]$'.
domainNameDomain to create for the
memberServersPerSubnetMember servers for each subnet. Must be between 1 and 201
storageCategoryStorage type. Can be either Standard (HDD) or Premium (SSD)Standard
You can’t perform that action at this time.