SharePoint 2016 and 2013 configured with ADFS authentication

Last updated: 07-09-2017

This template deploys a new SharePoint 2013 or 2016 environment with 3 new Azure VMs, each with its own public IP address and subnet. 1 new AD Domain Controller with AD CS and AD FS configured, 1 SQL Server 2016 and 1 SharePoint (2013 or 2016) configured with 1 web application and 2 zones. Default zone uses Windows authentication and Intranet zone uses federated authentication with ADFS. Latest version of claims provider LDAPCP is installed and configured.

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

Parameters

Parameter Name Description
storageAccountType Type of the storage accounts to create. Allowed values are "Standard_LRS", "Standard_GRS" and "Premium_LRS"
sharePointVersion Version of SharePoint farm to create.
domainFQDN FQDN of the AD forest to create
adminUserName Name of the AD and SharePoint administrator
adminPassword Input must meet password complexity requirements as documented for property 'adminPassword' in https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/virtualmachines-create-or-update
adfsSvcUserName Name of the service account that will run ADFS
adfsSvcPassword Input must meet password complexity requirements as documented for property 'adminPassword' in https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/virtualmachines-create-or-update
sqlSvcUserName Name of the service account that will run SQL Server instance
sqlSvcPassword Input must meet password complexity requirements as documented for property 'adminPassword' in https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/virtualmachines-create-or-update
spSetupUserName Name of the service account that will create and configure the SharePoint farm
spSetupPassword Input must meet password complexity requirements as documented for property 'adminPassword' in https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/virtualmachines-create-or-update
spFarmUserName Name of the service account that will run SharePoint central administration and Timer services
spFarmPassword Input must meet password complexity requirements as documented for property 'adminPassword' in https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/virtualmachines-create-or-update
spSvcUserName Name of the service account that will run SharePoint service applications
spSvcPassword Input must meet password complexity requirements as documented for property 'adminPassword' in https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/virtualmachines-create-or-update
spAppPoolUserName Name of the service account that will run SharePoint web applications
spAppPoolPassword Input must meet password complexity requirements as documented for property 'adminPassword' in https://docs.microsoft.com/en-us/rest/api/compute/virtualmachines/virtualmachines-create-or-update
spPassphrase Passphrase of the SharePoint farm
vmDCSize Size of the DC VM
vmSQLSize Size of the SQL VM
vmSPSize Size of the SQL VM
vmsTimeZone Time zone of the VMs. Get the list with '[System.TimeZoneInfo]::GetSystemTimeZones().Id'. Note that 'UTC' works but 'UTC+xx' does NOT work.
dnsLabelPrefix Prefix of public DNS names of VMs, e.g. 'dnsLabelPrefix-VMName.region.cloudapp.azure.com'
_artifactsLocation The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated.
_artifactsLocationSasToken The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated.

Use the template

PowerShell

New-AzureRmResourceGroupDeployment -Name <deployment-name> -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/sharepoint-adfs/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/sharepoint-adfs/azuredeploy.json
Install and Configure the Azure Cross-Platform Command-Line Interface