Configure a VM via DSC extension and Azure Automation DSC

Last updated: 2/1/2016

This template configures an existing Virtual Machine Local Configuration Manager (LCM) via the DSC extension, registering it to an existing Azure Automation Account and Azure Automation DSC Pull Server. NOTE: The DSC configuration module requires three specific Azure Automation DSC parameters: Registration Key, Registration URL, and Configuration Function. These prerequisites are available only after successful creation and configuration of an Azure Automation Account for Azure Automation DSC.

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
vmName Name of the existing VM to apply the DSC configuration to
modulesUrl URL for the DSC configuration package. NOTE: Can be a Github url(raw) to the zip file (this is the default value)
configurationFunction DSC configuration function to call. Should contain filename and function in format fileName.ps1\configurationfunction
registrationKey Registration key to use to onboard to the Azure Automation DSC pull/reporting server
registrationUrl Registration url of the Azure Automation DSC pull/reporting server
nodeConfigurationName The name of the node configuration, on the Azure Automation DSC pull server, that this node will be configured as
configurationMode DSC agent (LCM) configuration mode setting. ApplyOnly, ApplyAndMonitor, or ApplyAndAutoCorrect
configurationModeFrequencyMins DSC agent (LCM) configuration mode frequency setting, in minutes
refreshFrequencyMins DSC agent (LCM) refresh frequency setting, in minutes
rebootNodeIfNeeded DSC agent (LCM) rebootNodeIfNeeded setting
actionAfterReboot DSC agent (LCM) actionAfterReboot setting. ContinueConfiguration or StopConfiguration
allowModuleOverwrite DSC agent (LCM) allowModuleOverwrite setting
timestamp The current datetime, as a string, to force the request to go through ARM even if all fields are the same as last ARM deployment of this template; example in parameters file is in MM/dd/yyyy H:mm:ss tt format

Use the template

PowerShell

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