Blog

23/03/2017

Administración masiva con PowerShell – PowerShell DSC (parte 1/2)

Decir que PowerShell es una tecnología que nos ha invadido y que ha llegado para quedarse es describir una realidad, a pesar de que siga habiendo algunos que se resistan al cambio no se puede imaginar un futuro en la administración de sistemas Microsoft sin esta consola.

Una de las grandes ventajas que nos aporta PowerShell es poder realizar configuraciones de manera masiva en múltiples equipos, ya sea porque tenemos un script que ejecutamos a mano, ejecutándolo remotamente con PSRemoting o, como vamos a ver en este artículo, usando PowerShell Desired State Configuration.

¿Qué es PowerShell Desired State Configuration (DSC)?

DSC es una tecnología que nos va a permitir configurar múltiples equipos en base a un fichero de configuración, de esta manera podremos estandarizar ciertas configuraciones para que cumplan con lo marcado en el fichero, además de esto DSC, periódicamente, va a comprobar el estado y si no cumple lo cambiara para que vuelva a estar correctamente configurado.

PowerShell DSC consiste en tres componentes:

  1. Extensiones al lenguaje de scripting de PowerShell: Te permiten escribir scripts de configuración que se compilaran en ficheros MOF.

  2. Local Cofiguration Manager (LCM): Se ejecuta en todos los equipos que tengan WMF 4.0 o posterior. Se encarga de leer el fichero y ejecutar los recursos DSC especificados.

  3. Recursos DSC: Son módulos de PowerShell especiales que comprueban y aplican la configuración.

Modelo de despliegue Powershel DSC

PowerShell DSC tiene dos modelos de despliegue:

Modelo Push: el LCM esta configurado de manera predeterminada para admitir este modelo, para desplegar el fichero de configuración MOF usaremos PSRemoting.

Para poder distribuir el fichero tenemos el comando Start-DscConfiguration.

Start-DscConfiguration -Path ”path”

Este comando distribuye cada fichero MOF al equipo que corresponde con el nombre del fichero a todos los que hay en la carpeta. Podemos reducirlo indicándole los equipos mediante el parámetro -ComputerName.

Modelo Pull: Para este modo se usa un servidor web llamado PullServer que actúa como repositorio de configuraciones y de recursos DSC. Hay que configurar los equipos para cambiar al modelo Pull (lo podemos cambiar usando el modelo Push).

Desde que esté configurado el modelo Pull el LCM además de comprobar las configuraciones periódicamente también comprobará que no haya cambios en el PullServer.

En el caso de que exista una configuración nueva se la descarga y la analiza, si detecta que hay algún recurso que no está instalado también lo descarga e instala desde el PullServer.

Recursos DSC:Imagen 2 Jonatan Alonso

Imagen 1 Articulo Jonatan

Los recursos DSC tienen que estar instalados en el equipo de destino que vayamos a configurar para que pueda ser usado si lo necesitamos. Por ejemplo, para configuraciones de red nos va a hacer falta el recurso XNetworking.

Windows trae bastantes de serie y en algunas actualizaciones se agregan más, pero si queremos podemos descargarnos de Internet más recursos, algunos nos los provee Microsoft e incluso de terceros.

También podemos desarrollar nuestro propio módulo de PowerShell basándonos en scripts de PowerShell o mediante programación.

 

Hasta aquí una descripción de la tecnología y los distintos componentes que tiene PowerShell Desired State Configuration, en el siguiente artículo podremos ver cómo crear un fichero MOF y desplegarlo usando esta metodología de configuración.

Ve a la segunda parte de este artículo pinchando aquí.

 

 

 

Jonatan Alonso
Microsoft Lead Trainer

Análisis, Artículos , , , , , ,

Comenta esta información