Hola a todos!

Seguimos hablando de DSC, ahora mismo de como escribir, compilar y aplicar una configuración.

Este ejercicio lo guía a través de la creación y aplicación de una configuración de configuración de estado deseado (DSC) de principio a fin. En el siguiente ejemplo, aprenderá cómo escribir y aplicar una Configuración muy simple. La configuración garantizará que exista un archivo «HelloWorld.txt» en su máquina local. Si elimina el archivo, DSC lo volverá a crear la próxima vez que se actualice.

Para obtener una descripción general de qué es DSC y cómo funciona, consulte Descripción general de la configuración del estado deseado para desarrolladores.

Requisitos:

Para ejecutar este ejemplo, necesitará una computadora que ejecute PowerShell 4.0 o posterior.

Escriba la configuración:

Una configuración de DSC es una función especial de PowerShell que define cómo desea configurar una o más computadoras de destino (nodos).

En PowerShell ISE u otro editor de PowerShell, escriba lo siguiente:

Configuration HelloWorld {

# Import the module that contains the File resource.
Import-DscResource -ModuleName PsDesiredStateConfiguration

# The Node statement specifies which targets to compile MOF files for, when
# this configuration is executed.
Node 'localhost' {

    # The File resource can ensure the state of files, or copy them from a
    # source to a destination with persistent updates.
    File HelloWorld {
        DestinationPath = "C:\Temp\HelloWorld.txt"
        Ensure = "Present"
        Contents   = "Hello World from DSC!"
    }
}

}

Importante:

En escenarios más avanzados donde se deben importar varios módulos para poder trabajar con muchos recursos de DSC en la misma configuración, asegúrese de colocar cada módulo en una línea separada mediante Import-DscResource. Esto es más fácil de mantener en el control de código fuente y es necesario cuando se trabaja con DSC en Azure State Configuration.

Configuration HelloWorld {

# Import the module that contains the File resource.
Import-DscResource -ModuleName PsDesiredStateConfiguration
Import-DscResource -ModuleName xWebAdministration

Guarde el archivo como «HelloWorld.ps1».

Definir una Configuración es como definir una Función. El bloque Node especifica el nodo de destino que se configurará, en este caso, localhost.

La configuración llama a un recurso, el recurso Archivo. Los recursos hacen el trabajo de garantizar que el nodo de destino esté en el estado definido por la configuración.

Compilar la configuración:


Para que una configuración de DSC se aplique a un nodo, primero se debe compilar en un archivo MOF. Ejecutar la configuración, como una función, compilará un archivo .mof para cada Nodo definido por el bloque Nodo. Para ejecutar la configuración, debe colocar su secuencia de comandos HelloWorld.ps1 en el ámbito actual. Para obtener más información, consulte about_Scripts.

Apunte la fuente de su secuencia de comandos HelloWorld.ps1 escribiendo la ruta donde la almacenó, después del archivo . (punto, espacio). Luego puede ejecutar su configuración llamándola como una función. También puede invocar la función de configuración en la parte inferior de la secuencia de comandos para que no necesite la fuente de puntos.

. C:\Scripts\HelloWorld.ps1
HelloWorld

Directory: C:\Scripts\HelloWorld

Mode LastWriteTime Length Name
—- ————- —— —-
-a—- 3/13/2017 5:20 PM 2746 localhost.mof

Aplicar la configuración:

Ahora que tiene el MOF compilado, puede aplicar la configuración al nodo de destino (en este caso, la computadora local) llamando al cmdlet Start-DscConfiguration.

El cmdlet Start-DscConfiguration le indica al Administrador de configuración local (LCM), el motor de DSC, que aplique la configuración. El LCM hace el trabajo de llamar a los recursos DSC para aplicar la configuración.

Utilice el siguiente código para ejecutar el cmdlet Start-DSCConfiguration. Especifique la ruta del directorio donde se almacena su localhost.mof en el parámetro Ruta. El cmdlet Start-DSCConfiguration busca en el directorio especificado cualquier archivo .mof. El cmdlet Start-DSCConfiguration intenta aplicar cada archivo .mof que encuentra al nombre de equipo especificado por el nombre de archivo («localhost», «servidor01», «dc-02», etc.).

Start-DscConfiguration -Path C:\Scripts\HelloWorld -Verbose -Wait

Pruebe la configuración:

Una vez que se complete el cmdlet Start-DSCConfiguration, debería ver un archivo HelloWorld.txt en la ubicación que especificó. Puede verificar el contenido con el cmdlet Get-Content.

También puede probar el estado actual mediante Test-DSCConfiguration.

El resultado debe ser True si el nodo cumple actualmente con la configuración aplicada.

Test-DSCConfiguration

True

Get-Content -Path C:\Temp\HelloWorld.txt

Hello World from DSC!

Volver a aplicar la configuración:

Para ver que su configuración se aplique nuevamente, puede eliminar el archivo de texto creado por su Configuración. Utilice el cmdlet Start-DSCConfiguration con el parámetro -UseExisting. El parámetro -UseExisting indica a Start-DSCConfiguration que vuelva a aplicar el archivo «current.mof», que representa la configuración aplicada correctamente más recientemente.

Remove-Item -Path C:\Temp\HelloWorld.txt

Seguiremos… con esta traza de MS.

Un saludo

Por jioller

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *