Contenidos
Configuración de estado deseado (Desired Status Configuration), una plataforma de administración de PowerShell que nos permite administrar nuestra infraestructura de desarrollo y TI con configuración como código.
PowerShell DSC es un lenguaje de programación declarativo que nos lleva al paradigma de la infraestructura como código (IaC), lo cual nos permite no sólo crear scripts para realizar tareas cotidianas que nos liberan de operaciones repetitivas, si no también nos permitirá configurar características del sistema operativo, aspectos y configuraciones propias del servidor, así como de nuestras soluciones, y además nos permite mantenerlas en el tiempo.
A través de PowerShell se pueden definir las características y configuraciones que debe tener uno o varios servidores: roles, registros, servicios ejecutándose, variables, etcétera.
Importante: para permitir que se ejecute DSC, Windows debe configurarse para recibir comandos remotos de PowerShell, incluso cuando ejecuta una configuración de host local. Para configurar fácilmente su entorno correctamente, simplemente ejecutar como administrador en una terminal de PowerShell:
1 |
Set-WsManQuickConfig -Force |
Pongamos un ejemplo de los pasos a seguir para utilizar un recurso DSC que permite crear una variable de entorno:
Instalar el módulo que contenga recursos DSC
1 |
Install-Module 'PSDscResources' -Verbose |
Definir una configuración y generar el documento de configuración MOF
Configuration con un nombre descriptivo y un apartado llamado Node, que recibe el nombre de la máquina/s al que va destinada esta configuración.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Configuration CrearVariableEntorno { param () Import-DscResource -ModuleName 'PSDscResources' Node localhost { Environment CrearRutaVariableEntorno { Name = 'CrearVariableEntorno' Value = 'Hola mundo' Ensure = 'Present' Path = $true Target = @('Process', 'Machine') } } } CrearVariableEntorno -OutputPath:"./CrearVariableEntorno" |
Aplicar la configuración generada
1 |
Start-DscConfiguration -Path '.\CrearVariableEntorno' -Wait -Verbose -Force |

Ver el estado de la configuración
1 |
Get-DscConfiguration |
Resultado final de la configuración
