Examen del archivo de configuración de DSC
Las configuraciones de DSC son scripts de Windows PowerShell que definen un tipo especial de función.
Puede ver algunos ejemplos y escenarios de sintaxis en la página Sintaxis de configuración.
Elementos de configuración de DSC
Proporcionaremos las configuraciones de ejemplo y, después, analizaremos los elementos que incluyan. Empecemos con la configuración de ejemplo siguiente:
configuration LabConfig
{
Node WebServer
{
WindowsFeature IIS
{
Ensure = 'Present'
Name = 'Web-Server'
IncludeAllSubFeature = $true
}
}
}
- Bloque de configuración. El bloque de configuración es el bloque más externo del script. En este caso, el nombre de la configuración es LabConfig. Observe las llaves para definir el bloque.
- Bloque de nodo. Puede haber uno o varios bloques de nodo. Define los nodos (equipos y máquinas virtuales) que va a configurar. En este ejemplo, el nodo tiene como destino un equipo denominado WebServer. También podría llamarlo localhost y usarlo localmente en cualquier servidor.
- Bloques de recursos. Puede haber uno o varios bloques de recursos. Es donde la configuración establece las propiedades de los recursos. En este caso, hay un bloque de recursos llamado WindowsFeature. Observe los parámetros definidos. (Puede leer más sobre los bloques de recursos en Recursos de DSC.
A continuación se muestra otro ejemplo:
Configuration MyDscConfiguration
{
param
(
[string[]]$ComputerName='localhost'
)
Node $ComputerName
{
WindowsFeature MyFeatureInstance
{
Ensure = 'Present'
Name = 'RSAT'
}
WindowsFeature My2ndFeatureInstance
{
Ensure = 'Present'
Name = 'Bitlocker'
}
}
}
MyDscConfiguration
En este ejemplo, especifique el nombre del nodo, pasándolo como el parámetro ComputerName cuando compile la configuración. El nombre tiene el valor predeterminado "localhost".
En un bloque de configuración, puede hacer casi todo lo que se podría realizar normalmente en una función de PowerShell.
También puede crear la configuración en cualquier editor, como PowerShell ISE, y guardar el archivo como un script de PowerShell con una extensión de tipo de archivo .ps1.