Introducción a la configuración de estado deseado (DSC) para Windows

En este tema se ofrece una introducción al uso de la configuración de estado deseado (DSC) de PowerShell para Windows. Para obtener información general sobre DSC, consulte Introducción a la configuración de estado deseado de Windows PowerShell.

Versiones de sistemas operativos Windows compatibles

Las versiones compatibles son las siguientes:

  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2 SP1
  • Windows 11
  • Windows 10
  • Windows 8.1
  • Windows 7

La referencia de almacén del producto independiente de Microsoft Hyper-V Server no contiene una implementación de la configuración de estado deseado, por lo que ni DSC de PowerShell ni la configuración de estado de Azure Automation pueden administrarla.

Instalación de DSC

La configuración de estado deseado de PowerShell se incluye en Windows y se actualiza a través de Windows Management Framework. La versión más reciente es Windows Management Framework 5.1.

Nota

No es necesario habilitar la característica de Windows Server "DSC-Service" para administrar una máquina mediante DSC. Esta característica solo es necesaria al crear una instancia de servidor de extracción de Windows.

Uso de DSC para Windows

En las siguientes secciones se explica cómo crear y ejecutar configuraciones DSC en equipos Windows.

Creación de un documento MOF de configuración

Se utiliza la palabra clave de PowerShell Configuration a fin de crear una configuración. En los pasos siguientes se describe la creación de un documento de configuración con Windows PowerShell.

Instalación de un módulo con recursos de DSC

La configuración de estado deseado de Windows PowerShell incluye módulos integrados con recursos de DSC. También puede cargar módulos desde orígenes externos como la Galería de PowerShell, mediante los cmdlet PowerShellGet.

Install-Module 'PSDscResources' -Verbose

Defina una configuración y genere el documento de configuración

Configuration EnvironmentVariable_Path
{
    param ()

    Import-DscResource -ModuleName 'PSDscResources'

    Node localhost
    {
        Environment CreatePathEnvironmentVariable
        {
            Name = 'TestPathEnvironmentVariable'
            Value = 'TestValue'
            Ensure = 'Present'
            Path = $true
            Target = @('Process', 'Machine')
        }
    }
}

EnvironmentVariable_Path -OutputPath:"./EnvironmentVariable_Path"

Aplicación de la configuración a la máquina

Nota

Para permitir la ejecución de DSC, Windows debe configurarse para recibir comandos remotos de PowerShell incluso cuando se ejecuta una configuración localhost. Para configurar correctamente el entorno, solo tiene que ejecutar Set-WsManQuickConfig -Force en un terminal de PowerShell con privilegios elevados.

Los documentos de configuración (archivos MOF) se pueden aplicar a la máquina mediante el cmdlet Start-DscConfiguration.

Start-DscConfiguration -Path 'C:\EnvironmentVariable_Path' -Wait -Verbose

Obtención del estado actual de la configuración

El cmdlet Get-DscConfiguration consulta el estado actual de la máquina y devuelve los valores actuales de la configuración.

Get-DscConfiguration

El cmdlet Get-DscLocalConfigurationManager devuelve la metaconfiguración actual aplicada a la máquina.

Get-DscLocalConfigurationManager

Eliminación de la configuración actual de una máquina

Remove-DscConfigurationDocument

Remove-DscConfigurationDocument -Stage Current -Verbose

Definición de configuración en el Administrador de configuración local

Aplique un archivo MOF de metaconfiguración a la máquina mediante el cmdlet Set-DSCLocalConfigurationManager. Requiere la ruta de acceso al MOF de metaconfiguración.

Set-DSCLocalConfigurationManager -Path 'c:\metaconfig\localhost.meta.mof' -Verbose

Archivos de registro de configuración de estado deseado de Windows PowerShell

Los registros para DSC se escriben en el registro de eventos de Windows en la ruta de acceso Microsoft-Windows-Dsc/Operational. Se pueden habilitar registros adicionales con fines de depuración siguiendo los pasos en ¿Dónde se encuentran los registros de eventos de DSC?