Create new Active Directory forest with optional subdomain

Last updated: 10/2/2017

This template creates a new Active Directory forest, with an optional subdomain. You can choose to have either one or two DCs per domain. The network configuration is highly configurable, making it suitable to fit into an existing environment. The VMs use managed disks and have no dependency on storage accounts. As an operating system you can choose between Windows Server 2012, Windows Server 2012 R2, and Windows 2016. This template illustrates the use of nested templates, Powershell DSC, and other advanced concepts.

This Azure Resource Manager template was created by a member of the community and not by Microsoft. Each Resource Manager template is licensed to you under a license agreement by its owner, not Microsoft. Microsoft is not responsible for Resource Manager templates provided and licensed by community members and does not screen for security, compatibility, or performance. Community Resource Manager templates are not supported under any Microsoft support program or service, and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
createChildDomain Do you want a child domain? If false, the parameters for the child domain are ignored.
createSecondDc Do you want a second DC in each domain? If false: parameters for DC2 and DC4 are ignored.
DomainName Full FQDN name for the forest root domain.
ChildDomainName SHORT name for the child domain. New AD trees are not allowed.
adminUsername The name of the admin account for the Domain(s)
adminPassword The (complex!) password for the Administrator account of the new VMs and Domain(s)
VMSize The size and type of the VM. DS types will get Premium (managed) disks.
imageSKU Windows Server Version.
virtualNetworkName The name of the new VNET for the DC(s).
virtualNetworkAddressRange The address range of the new VNET in CIDR format.
externalDNSForwarder DNS forwarder for all non-domain (external) related DNS queries.
adSubnetName The name of the VM subnet created in the new VNET.
adSubnet The address range of the subnet created in the new VNET.
RootDC1Name The computer name of the first DC of the root domain.
RootDC1IPAddress The IP address of the first DC of the root domain.
RootDC2Name The computer name of the second DC of the root domain.
RootDC2IPAddress The IP address of the second DC of the root domain.
ChildDC3Name The computer name of the first DC of the CHILD domain.
ChildDC3IPAddress The IP address of the first DC of the CHILD domain.
ChildDC4Name The computer name of the second DC of the CHILD domain.
ChildDC4IPAddress The IP address of the second DC of the CHILD domain.
_artifactsLocation The location of resources such as templates and DSC modules that the script depends on. No need to change unless you copy or fork this template.
_artifactsLocationSasToken SAS storage token to access _artifactsLocation. No need to change unless you copy or fork this template.

Use the template

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/301-create-ad-forest-with-subdomain/azuredeploy.json
Install and configure Azure PowerShell

Command line

azure config mode arm
azure group deployment create <my-resource-group> <my-deployment-name> --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/301-create-ad-forest-with-subdomain/azuredeploy.json
Install and Configure the Azure Cross-Platform Command-Line Interface