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 2016 and Windows Server 2019. 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* or *s types support Premium Disks. Hint: the DS* series seem most reliable for this complex template. |
imageSKU | Windows Server Version. |
diskType | The Storage type of the data Disks. Use Premium_LRS only with *s or *DS* VM types. |
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. |
location | Location for all resources; takes its default from the Resource Group. |
_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-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deploymentInstall and configure Azure PowerShell
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/301-create-ad-forest-with-subdomain/azuredeploy.json
Command line
az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deploymentInstall and Configure the Azure Cross-Platform Command-Line Interface
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/301-create-ad-forest-with-subdomain/azuredeploy.json