Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
La extensión DSC se retirará el 31 de marzo de 2028. Vaya a Azure Machine Configuration (configuración de máquina de Azure) por esa fecha. Para obtener más información, consulte el anuncio de la entrada de blog . El servicio Azure Machine Configuration combina ciertas características de la extensión DSC, Azure Automation State Configuration y las características solicitadas habitualmente de los comentarios de los clientes. Azure Machine Configuration también incluye compatibilidad con máquinas híbridas a través de servidores habilitados para Arc.
Información general
La extensión DSC de PowerShell para Windows sube y aplica una configuración de PowerShell DSC en una máquina virtual de Azure. La extensión DSC llama a DSC de PowerShell para aplicar la configuración de DSC recibida en la máquina virtual. En este documento se especifican las plataformas compatibles, configuraciones y opciones de implementación de la extensión de máquina virtual de DSC para Windows.
Nota:
Pruebe la asistencia de máquina virtual para un diagnóstico más rápido. Se recomienda ejecutar la asistencia de máquina virtual para Windows o la asistencia de máquina virtual para Linux. Estas herramientas de diagnóstico basadas en scripts le ayudan a identificar problemas comunes que afectan al agente invitado de máquina virtual de Azure y al estado general de la máquina virtual.
Si tiene problemas de rendimiento con máquinas virtuales, antes de ponerse en contacto con el soporte técnico, ejecute estas herramientas.
Requisitos previos
Sistema operativo
La extensión DSC admite los siguientes sistemas operativos
Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012R2, Windows Server 2012, Windows Server 2008 R2 SP1, Windows Client 7/8.1/10
Conectividad de Internet
La extensión DSC para Windows requiere que la máquina virtual de destino pueda comunicarse con Azure y la ubicación del paquete de configuración (.zip archivo) si se almacena fuera de Azure.
Esquema de extensión
El siguiente JSON muestra el esquema para la parte de configuración de la extensión DSC en una plantilla de Azure Resource Manager.
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "Microsoft.Powershell.DSC",
"apiVersion": "2018-10-01",
"location": "<location>",
"properties": {
"publisher": "Microsoft.Powershell",
"type": "DSC",
"typeHandlerVersion": "2.77",
"autoUpgradeMinorVersion": true,
"settings": {
"wmfVersion": "latest",
"configuration": {
"url": "http://validURLToConfigLocation",
"script": "ConfigurationScript.ps1",
"function": "ConfigurationFunction"
},
"configurationArguments": {
"argument1": "Value1",
"argument2": "Value2"
},
"configurationData": {
"url": "https://foo.psd1"
},
"privacy": {
"dataCollection": "enable"
},
"advancedOptions": {
"forcePullAndApply": false,
"downloadMappings": {
"specificDependencyKey": "https://myCustomDependencyLocation"
}
}
},
"protectedSettings": {
"configurationArguments": {
"parameterOfTypePSCredential1": {
"userName": "UsernameValue1",
"password": "PasswordValue1"
},
"parameterOfTypePSCredential2": {
"userName": "UsernameValue2",
"password": "PasswordValue2"
}
},
"configurationUrlSasToken": "?g!bber1sht0k3n",
"configurationDataUrlSasToken": "?dataAcC355T0k3N"
}
}
}
Valores de propiedad
| Nombre | Valor / ejemplo | Tipo de datos |
|---|---|---|
| apiVersion | 2018-10-01 | date |
| publisher | Microsoft.Powershell.DSC | string |
| type | DSC | string |
| typeHandlerVersion | 2.77 | int |
Valores de la propiedad settings
| Nombre | Tipo de datos | Descripción |
|---|---|---|
| settings.wmfVersion | string | Especifica la versión de Windows Management Framework que debe instalarse en la máquina virtual. Al establecer esta propiedad en "latest" se instala la versión más actualizada de WMF. Los únicos valores posibles actuales para esta propiedad son "4.0", "5.0" y "latest". Estos valores posibles están sujetos a actualizaciones. El valor predeterminado es "latest". |
| settings.configuration.url | string | Especifica la ubicación de la dirección URL desde la que descargar el archivo zip de la configuración de DSC. Si la dirección URL proporcionada requiere un token de SAS para el acceso, establezca la propiedad protectedSettings.configurationUrlSasToken en el valor del token de SAS. Esta propiedad es necesaria si se definen settings.configuration.script o settings.configuration.function. |
| settings.configuration.script | string | Especifica el nombre de archivo del script que contiene la definición de la configuración de DSC. Este script debe estar en la carpeta raíz del archivo zip descargado de la dirección URL especificada en la propiedad configuration.url. Esta propiedad es necesaria si se definen settings.configuration.url o settings.configuration.script. |
| settings.configuration.function | string | Especifica el nombre de la configuración de DSC. La configuración con nombre debe incluirse en el script definido en configuration.script. Esta propiedad es necesaria si se definen settings.configuration.url o settings.configuration.function. |
| settings.configurationArguments | Colección | Define los parámetros que desea pasar a la configuración de DSC. Esta propiedad no se encriptará. |
| settings.configurationData.url | string | Especifica la dirección URL desde la que descargar el archivo de datos de configuración (.pds1) que se usará como entrada para la configuración de DSC. Si la dirección URL proporcionada requiere un token de SAS para el acceso, establezca la propiedad protectedSettings.configurationDataUrlSasToken en el valor del token de SAS. |
| settings.privacy.dataEnabled | string | Habilita o deshabilita la recopilación de telemetría. Los únicos valores posibles para esta propiedad son "Enable", "Disable" o "$null". Dejar esta propiedad en blanco o null habilita la telemetría. |
| settings.advancedOptions.forcePullAndApply | Bool | Esta configuración está diseñada para mejorar la experiencia de trabajar con la extensión para registrar los nodos con DSC de Azure Automation. Si el valor es $true, la extensión espera a la primera ejecución de la configuración extraída del servicio antes de devolver el éxito o error. Si el valor se establece en $false, el estado devuelto por la extensión hace referencia a si el nodo se registró correctamente con State Configuration de Azure Automation y la configuración del nodo no se ejecutará durante el registro. |
| settings.advancedOptions.downloadMappings | Colección | Define ubicaciones alternativas para descargar dependencias como WMF y .NET |
Valores protegidos de la propiedad settings
| Nombre | Tipo de datos | Descripción |
|---|---|---|
| protectedSettings.configurationArguments | string | Define los parámetros que desea pasar a la configuración de DSC. |
| protectedSettings.configurationUrlSasToken | string | Especifica el token de SAS para acceder a la dirección URL definida en configuration.url. |
| protectedSettings.configurationDataUrlSasToken | string | Especifica el token de SAS para acceder a la dirección URL definida en configurationData.url. |
Implementación de plantilla
Las extensiones de VM de Azure pueden implementarse con plantillas de Azure Resource Manager. Las plantillas resultan ideales al implementar una o varias máquinas virtuales que requieren configurarse tras la implementación. Se puede encontrar una plantilla de ejemplo de Resource Manager que incluye la extensión de DSC para Windows en la Galería de inicio rápido de Azure.
Solución de problemas y asistencia
Solución de problemas
Los datos sobre el estado de las implementaciones de extensiones pueden recuperarse desde Azure Portal y mediante la CLI de Azure. Para ver el estado de implementación de las extensiones de una máquina virtual determinada, ejecute el comando siguiente con la CLI de Azure.
az vm extension list --resource-group myResourceGroup --vm-name myVM -o table
El paquete de extensión se descarga y se implementa en esta ubicación en la máquina virtual de Azure.
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}
El archivo de estado de la extensión contiene los códigos de éxito o error de subestado y estado, junto con el error detallado y una descripción de cada extensión ejecutada.
C:\Packages\Plugins\{Extension_Name}\{Extension_Version}\Status\{0}.Status -> {0} being the sequence number
Los registros de salida de la extensión se registran en el directorio siguiente:
C:\WindowsAzure\Logs\Plugins\{Extension_Name}\{Extension_Version}
Códigos de error y su significado
| Código de error | Significado | Acción posible |
|---|---|---|
| 1000 | Error genérico | El mensaje de este error lo proporciona la excepción específica en los registros de extensión |
| 52 | Error de instalación de extensión | El mensaje de este error lo proporciona la excepción específica |
| 1002 | Error de instalación de WMF | Error al instalar WMF |
| 1004 | Paquete comprimido no válido | Archivo ZIP no válido; error al desempaquetar el archivo ZIP |
| 1100 | Error de argumento | Indica un problema en la entrada proporcionada por el usuario. El mensaje del error lo proporciona la excepción específica |
Soporte técnico
Si necesita más ayuda con cualquier aspecto de este artículo, puede ponerse en contacto con los expertos de Azure en los foros de MSDN Azure o Stack Overflow. Como alternativa, puede registrar un incidente de soporte técnico de Azure. Vaya al sitio de soporte técnico de Azure y seleccione Obtener soporte. Para obtener información sobre el uso del soporte técnico, lea las Preguntas más frecuentes de soporte técnico de Microsoft Azure.