You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/virtual-machines/extensions/dsc-overview.md
+28-23Lines changed: 28 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,17 +26,17 @@ The Azure Linux Agent for Azure virtual machines (VM) and the associated extensi
26
26
The primary use for the Azure Desired State Configuration (DSC) extension for Windows PowerShell is to bootstrap a VM to the
27
27
[Azure Automation State Configuration (DSC) service](../../automation/automation-dsc-overview.md). This service provides [benefits](/powershell/dsc/managing-nodes/metaConfig#pull-service) that include ongoing management of the VM configuration and integration with other operational tools, such as Azure Monitor. You can use the extension to register your VMs to the service and gain a flexible solution that works across Azure subscriptions.
28
28
29
-
You can run the Azure DSC extension independently of the Automation DSC service, but this method only pushes a configuration to the VM. No ongoing reporting is available, other than locally in the VM. Before you enable the Azure DSC extension, [review the available DSC versions](#desired-state-configuration-versions), and choose the version that supports your configuration requirements.
29
+
You can run the DSC extension independently of the Automation DSC service, but this method only pushes a configuration to the VM. No ongoing reporting is available, other than locally in the VM. Before you enable the DSC extension, [review the available DSC versions](#available-dsc-versions), and choose the version that supports your configuration requirements.
30
30
31
-
This article describes how to use the Azure DSC extension for Automation onboarding, or use it as a tool to assign configurations to VMs with the Azure SDK.
31
+
This article describes how to use the DSC extension for Automation onboarding, or use it as a tool to assign configurations to VMs with the Azure SDK.
32
32
33
-
## Desired State Configuration versions
33
+
## Available DSC versions
34
34
35
-
There are several versions of DSC available for implementation. Before you enable the Azure DSC extension, choose the DSC version that best supports your configuration and business goals.
35
+
Several versions of Desired State Configuration are available for implementation. Before you enable the DSC extension, choose the DSC version that best supports your configuration and business goals.
36
36
37
-
|DSC version| Availability | Description |
37
+
|Version| Availability | Description |
38
38
| --- | --- | --- |
39
-
|**DSC 2.0**| General availability |[Desired State Configuration 2.0](/powershell/dsc/overview?view=dsc-2.0&preserve-view=true) is supported for use with the Azure Automanage [Machine Configuration](../../governance/machine-configuration/overview.md) feature. The machine configuration feature combines features of the Azure DSC extension handler, Azure Automation State Configuration, and the most commonly requested features from customer feedback. Machine configuration also includes hybrid machine support through [Arc-enabled servers](../../azure-arc/servers/overview.md). |
39
+
|**DSC 2.0**| General availability |[Desired State Configuration 2.0](/powershell/dsc/overview?view=dsc-2.0&preserve-view=true) is supported for use with the Azure Automanage [Machine Configuration](../../governance/machine-configuration/overview.md) feature. The machine configuration feature combines features of the DSC extension handler, Azure Automation State Configuration, and the most commonly requested features from customer feedback. Machine configuration also includes hybrid machine support through [Arc-enabled servers](../../azure-arc/servers/overview.md). |
40
40
|**DSC 1.1**| General availability | If your implementation doesn't use the Azure Automanage machine configuration feature, you should choose Desired State Configuration 1.1. For more information, see [PSDesiredStateConfiguration v1.1](/powershell/dsc/overview?view=dsc-1.1&preserve-view=true). |
41
41
|**DSC 3.0**| Public preview |[Desired State Configuration 3.0 is available in public beta](/powershell/dsc/overview?view=dsc-3.0&preserve-view=true). This version should be used only with Azure machine configuration, or for nonproduction environments to test migrating away from Desired State Configuration 1.1. |
42
42
@@ -58,7 +58,7 @@ This article assumes familiarity with the following concepts:
58
58
59
59
## Architecture
60
60
61
-
The Azure DSC extension uses the Azure Linux Agent framework to deliver, enact, and report on DSC configurations running on Azure VMs. The Azure DSC extension accepts a configuration document and a set of parameters. If no file is provided, a [default configuration script](#default-configuration-script) is embedded with the extension. The default configuration script is used only to set metadata in [Local Configuration Manager](/powershell/dsc/managing-nodes/metaConfig).
61
+
The Azure DSC extension uses the Azure Linux Agent framework to deliver, enact, and report on DSC configurations running on Azure VMs. The DSC extension accepts a configuration document and a set of parameters. If no file is provided, a [default configuration script](#default-configuration-script) is embedded with the extension. The default configuration script is used only to set metadata in [Local Configuration Manager](/powershell/dsc/managing-nodes/metaConfig).
62
62
63
63
When the extension is called the first time, it installs a version of WMF by using the following logic:
64
64
@@ -76,7 +76,7 @@ The Azure DSC extension includes a default configuration script that's intended
76
76
77
77
## Azure Automation State Configuration registration
78
78
79
-
To use the Azure DSC extension to register a node with the Azure Automation State Configuration service, provide the following values:
79
+
When you use the Azure DSC extension to register a node with the Azure Automation State Configuration service, you provide the following values:
80
80
81
81
-`RegistrationUrl`: The https address of the Azure Automation account.
82
82
-`RegistrationKey`: A shared secret that's used to register nodes with the service.
@@ -100,11 +100,11 @@ The Configuration is defined in a script that's used [to compile the node config
100
100
101
101
## ARM template deployment
102
102
103
-
ARM templates are the most common approach to work with the Azure DSC extension. For more information and for examples of how to include the Azure DSC extension in ARM templates, see [Desired State Configuration extension with ARM templates](dsc-template.md).
103
+
The most common approach for deploying the DSC extension is to use Azure Resource Manager templates. For more information and for examples of how to include the DSC extension in ARM templates, see [Desired State Configuration extension with ARM templates](dsc-template.md).
104
104
105
105
## PowerShell cmdlet deployment
106
106
107
-
PowerShell cmdlets for managing the Azure DSC extension are ideal for interactive troubleshooting and information-gathering scenarios. You can use the cmdlets to package, publish, and monitor Azure DSC extension deployments. Cmdlets for the Azure DSC extension aren't currently updated to work with the [default configuration script](#default-configuration-script).
107
+
PowerShell cmdlets for managing the DSC extension are ideal for interactive troubleshooting and information-gathering scenarios. You can use the cmdlets to package, publish, and monitor DSC extension deployments. Cmdlets for the DSC extension aren't currently updated to work with the [default configuration script](#default-configuration-script).
108
108
109
109
Here are some of the PowerShell cmdlets that are available:
110
110
@@ -114,15 +114,15 @@ Here are some of the PowerShell cmdlets that are available:
114
114
115
115
- The **Set-AzVMDscExtension** cmdlet injects the settings that the PowerShell DSC extension requires into a VM configuration object.
116
116
117
-
- The **Get-AzVMDscExtension** cmdlet retrieves the Azure DSC extension status of a specific VM.
117
+
- The **Get-AzVMDscExtension** cmdlet retrieves the DSC extension status of a specific VM.
118
118
119
-
- The **Get-AzVMDscExtensionStatus** cmdlet retrieves the status of the DSC configuration that's enacted by the Azure DSC extension handler. This action can be performed on a single VM or a group of VMs.
119
+
- The **Get-AzVMDscExtensionStatus** cmdlet retrieves the status of the DSC configuration that's enacted by the DSC extension handler. This action can be performed on a single VM or a group of VMs.
120
120
121
121
- The **Remove-AzVMDscExtension** cmdlet removes the extension handler from a specific VM. Keep in mind that this cmdlet doesn't remove the configuration, uninstall WMF, or change the applied settings on the VM. The cmdlet only removes the extension handler.
122
122
123
123
### Important considerations
124
124
125
-
There are several considerations for working with Azure Resource Manager cmdlets.
125
+
There are several considerations to keep in mind when working with Azure Resource Manager cmdlets.
The Azure CLI can be used to deploy the Azure DSC extension to an existing VM. The following examples show how to deploy a VM on Windows or Linux.
169
+
The Azure CLI can be used to deploy the DSC extension to an existing VM. The following examples show how to deploy a VM on Windows or Linux.
170
170
171
171
For a VM running Windows, use the following command:
172
172
@@ -194,19 +194,22 @@ az vm extension set \
194
194
195
195
## Azure portal deployment
196
196
197
-
To set up the Azure DSC extension in the Azure portal, follow these steps:
197
+
To set up the DSC extension in the Azure portal, follow these steps:
198
198
199
199
1. Go to a VM.
200
200
201
-
1. Under **Settings**, select **Extensions**.
201
+
1. Under **Settings**, select **Extensions + Applications**.
202
202
203
-
1.In the new page that's created, select **+ Add**, and then select **PowerShell Desired State Configuration**.
203
+
1.Under **Extensions**, select **+ Add**.
204
204
205
-
1. Select **Create** at the bottom of the extension information page.
205
+
1. Select **PowerShell Desired State Configuration**, then select **Next**.
206
206
207
-
1. Configure the following settings for the Azure DSC extension:
207
+
1. Configure the following settings for the PowerShell DSC extension:
208
208
209
-
-**Configuration Modules or Script**: This setting is mandatory. (The form isn't updated for the [default configuration script](#default-configuration-script).) Configuration modules and scripts require a .ps1 file that has a configuration script or a .zip file with a .ps1 configuration script at the root. If you use a .zip file, all dependent resources must be included in module folders in the .zip file. You can create the .zip file by using the **Publish-AzureVMDscConfiguration -OutputArchivePath** cmdlet that's included in the Azure PowerShell SDK. The .zip file is uploaded to your user Blob Storage and secured by an SAS token.
209
+
-**Configuration Modules or Script**: (Required) Configuration modules and scripts require a .ps1 file that has a configuration script or a .zip file with a .ps1 configuration script at the root. If you use a .zip file, all dependent resources must be included in module folders in the .zip file. You can create the .zip file by using the **Publish-AzureVMDscConfiguration -OutputArchivePath** cmdlet that's included in the Azure PowerShell SDK. The .zip file is uploaded to your user Blob Storage and secured by an SAS token.
210
+
211
+
> [!Note]
212
+
> The form isn't updated for the [default configuration script](#default-configuration-script).
210
213
211
214
-**Module-qualified Name of Configuration**: Specify this setting to include multiple configuration functions in a single .ps1 script file. For this setting, enter the name of the configuration .ps1 script file followed by a slash `\` and then the name of the configuration function. For example, if the .ps1 script file has the name **configuration.ps1** and the configuration name is **IisInstall**, enter the value `configuration.ps1\IisInstall` for the setting.
212
215
@@ -216,11 +219,13 @@ To set up the Azure DSC extension in the Azure portal, follow these steps:
216
219
217
220
-**WMF Version**: Use this setting to specify the version of Windows Management Framework to install on your VM. If you choose **latest**, which is the default value, the system installs the most recent version of WMF. Other possible values include 4.0, 5.0, and 5.1. The possible values are subject to updates.
218
221
219
-
-**Data Collection**: Configure this setting if you want the Azure DSC extension to collect telemetry about your VM. For more information, see [Azure DSC extension data collection](https://devblogs.microsoft.com/powershell/azure-dsc-extension-data-collection-2/).
222
+
-**Data Collection**: Enable this setting if you want the DSC extension to collect telemetry about your VM. For more information, see [Azure DSC extension data collection](https://devblogs.microsoft.com/powershell/azure-dsc-extension-data-collection-2/).
223
+
224
+
-**Version**: This setting specifies the version of the DSC extension to install. For information about versions, see [Azure DSC extension version history](../../automation/automation-dsc-extension-history.md).
220
225
221
-
-**Version**: This setting specifies the version of the Azure DSC extension to install. For information about versions, see [Azure DSC extension version history](../../automation/automation-dsc-extension-history.md).
226
+
-**Auto Upgrade Minor Version**: This setting maps to the `AutoUpdate` switch in the cmdlets. Configure this setting to enable the DSC extension to automatically update to the latest version during installation. **Yes** instructs the DSC extension handler to use the latest available version. **No** (default) forces installation of the version you specify in the **Version** setting.
222
227
223
-
-**Auto Upgrade Minor Version**: This setting maps to the `AutoUpdate` switch in the cmdlets. Configure this setting to enable the Azure DSC extension to automatically update to the latest version during installation. **Yes** instructs the Azure DSC extension handler to use the latest available version. **No** (default) forces installation of the version you specify in the **Version** setting.
228
+
1. After you configure the parameters, select **Review + Create**, and then select **Create**.
0 commit comments