Hace ya algunas semanas te conté qué es PowerShell DSC y cómo puedes definir una serie de requisitos, para que tus máquinas tengan el estado deseado en tan solo unas lineas de código PowerShell. También te conté que, para que estas condiciones se cumplan, existe un motor llamado Local Configuration Manager que se encarga de lanzar estas configuraciones sobre los nodos. Hoy me gustaría hablarte de cómo encaja Azure Automation en esta foto.
Azure Automation: DSC Nodes
Si ya has jugado con Azure Automation, creando algún runbook para tu suscripción, habrás notado que hay varios apartados relacionados con DSC:

- DSC Configurations es la sección que almacena los scripts de PowerShell DSC que se aplicarán a los nodos.
Azure Automation – DSC Configurations Haciendo clic sobre View configuration source podrás ver el contenido de cada una de las configuraciones.
Azure Automation – DSC Configurations – View configuration source - DSC Node Configuration muestra la asociación entre los scripts y los nodos que están haciendo uso de ellos.
- DSC Nodes son las máquinas que tienes registradas dentro de Azure Automation, a los cuales podrás aplicar las configuraciones que has definido. Estas pueden estar en cualquier parte.
Vamos a crear una configuración desde cero para que puedas ver cómo funciona. Lo primero que voy a definir es cuál es el estado que deseo para uno de mis nodos.
Configuration TelnetServer{ #vmtelnetdemo node Node "vmtelnetdemo"{ #Install Telnet-server WindowsFeature Telnet-Server{ Ensure = "Present" Name = "Telnet-Server" } } }
La configuración es bastante sencilla, ya que sólo estoy pidiendo que vmtelnetdemo tenga instalada la característica Telnet-Server. El siguiente paso es subir dicha configuración en el apartado DSC Configuration. Haz clic sobre la opción Add a configuration y selecciona el archivo donde has guardado el script anterior.

Añade la máquina virtual vmtelnetdemo en el apartado DSC Nodes.

La primera opción es añadir una máquina que esté alojada en Microsoft Azure pero, como puedes ver en la imagen anterior, también es posible añadir máquinas on-premises (o cualquier otro sitio), siguiendo la documentación que se activa a través de ese botón. Cuando seleccionas tu máquina virtual, debes además configurar una serie de valores:

Estos valores son los mismos que te conté sobre el motor de PowerShell DSC, Local Configuration Manager, los cuales te permiten modificar la forma de la que se comportará el nodo frente a DSC. Acepta los cambios y haz clic en Create para que se actualice y registre la nueva máquina. Compila la nueva configuración para telnet desde el apartado DSC Configurations > TelnetServer.

Una vez que se haya completado será enviada dicha configuración al servidor, y vmtelnetdemo quedará pendiente de aplicar los cambios, en este caso la instalación de la característica Telnet-Server.

Después de unos minutos se aplicará la configuración correspondiente.

Y podrás comprobar que la máquina vmtelnetdemo tiene instalada la característica Telnet-Server, tal y como habías requerido.

Esta ha sido una prueba de una configuración súper sencilla con Azure Automation y PowerShell DSC, para que tus máquinas siempre tengan el estado que has deseado.
¡Saludos!