Compartir a través de


Configuraciones DSC

Se aplica a: PowerShell 7, característica de configuración de máquina de Azure Automanage

Las configuraciones de DSC son scripts de PowerShell que definen un tipo especial de comando. Para definir una configuración, use la palabra clave configurationde PowerShell .

Configuration MyDscConfiguration {
    Environment FirstEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Foo'
        Value  = 'Example'
    }

    Environment SecondEnvironmentVariable {
        Ensure = 'Present'
        Name   = 'Bar'
        Value  = 'Another'
    }
}

MyDscConfiguration

Guarde el script como un archivo .ps1.

Sintaxis de la configuración

Un script de configuración de DSC consta de las siguientes partes:

  • Bloque Configuration . Este es el bloque del script más externo. Se define con la Configuration palabra clave y se proporciona un nombre. En este caso, el nombre de la configuración de DSC es MyDscConfiguration.
  • Uno o varios bloques de recursos de DSC. Aquí es donde la configuración de DSC define la configuración del componente que está configurando. En este caso, hay dos bloques de recursos de DSC. Ambos usan el Environment recurso de DSC.

Compilación de la configuración

Para poder usar una configuración de DSC, debe compilarla en un documento MOF. Para ello, llame a la configuración de DSC como llamaría a una función de PowerShell. La última línea del ejemplo, que contiene solo el nombre de la configuración de DSC, ejecuta la configuración de DSC.

Nota

Para llamar a una configuración de DSC, debe cargarse en el ámbito actual (como con cualquier otra función de PowerShell). Puede hacer que esto suceda mediante "dot-sourcing" en el script o ejecutando el script con F5 o haciendo clic en el botón Ejecutar script en VS Code. Para puntear el script, ejecute el comando . .\myConfig.ps1 donde myConfig.ps1 es el nombre del archivo de script que contiene la configuración de DSC.

Cuando se llama a la configuración de DSC, se hace lo siguiente:

  • Crea una carpeta en el directorio actual con el mismo nombre que la configuración de DSC.
  • Crea un archivo denominado localhost.mof en el nuevo directorio.

Nota

El archivo MOF contiene toda la información de configuración del sistema. Por este motivo, es importante protegerlo adecuadamente.

Uso de nuevos recursos de DSC en la configuración de DSC

Si ha ejecutado los ejemplos anteriores, habrá observado que se le mostró una advertencia respecto a que se estaba utilizando un recurso sin importarlo explícitamente.

Puede usar el cmdlet Get-DscResource para determinar qué recursos están instalados en el sistema y disponibles para su uso. Incluso cuando sus módulos se han colocado en $env:PSModulePath y son reconocidos por Get-DscResource, todavía deben cargarse dentro de la configuración de DSC.

Import-DscResource es una palabra clave dinámica que solo se puede reconocer dentro de un Configuration bloque. No es un cmdlet. Import-DscResource admite dos parámetros:

  • ModuleName es la forma recomendada de usar Import-DscResource. Acepta el nombre del módulo que contiene los recursos que se importarán (así como una matriz de cadenas de nombres de módulo).
  • Name es el nombre del recurso que se importará. Este no es el nombre descriptivo devuelto como la propiedad Name del Get-DscResourceobjeto devuelto, pero el nombre de clase usado al definir el esquema de recursos (la propiedad ResourceType del objeto devuelto por Get-DscResource).

Para obtener más información sobre el uso de Import-DSCResource, consulte Uso de Import-DSCResource

Importante

Hay una limitación en la configuración de la máquina que impide que un recurso de DSC use los cmdlets de PowerShell que no se incluyan en PowerShell o en un módulo de la Galería de PowerShell. Los recursos de DSC que usan cmdlets de uno o varios módulos de Windows no funcionarán en la configuración de la máquina.

Consulte también