Automatice la implementación de software y configuraciones con WinGet Configure (DSC)

Además de instalar paquetes de aplicaciones desde el repositorio, puede utilizar elganarAdministrador de paquetes para la configuración declarativa del entorno Windows. La idea es que el administrador cree un archivo YAML declarativo que describa el estado deseado de la computadora, incluida la configuración de Windows y el software requerido. Luego, WinGet usa la Configuración de estado deseado (DSC) de PowerShell para configurar automáticamente Windows en el estado especificado definido en el archivo YAML.

WinGet admite la gestión de la configuración de la computadora a través de DSC a partir de la versión 1.6.2631 (lanzada en 2023).

Elwinget configureEl comando utiliza PowerShell Desired State Configuration (DSC) 3.0, incluida la arquitectura más nueva de Microsoft DSC 3, para configurar automáticamente Windows en el estado deseado definido en el archivo de configuración. El archivo de configuración YAML describe de forma declarativa el estado requerido del sistema, incluidas las instalaciones o eliminaciones de programas con sus versiones, las funciones y funciones de Windows para agregar o eliminar, y la configuración necesaria de Windows y de las aplicaciones. La aplicación de este archivo YAML automatizará la implementación del entorno en una estación de trabajo o servidor de Windows.

Ahora, echemos un vistazo a un archivo de configuración YAML simple para Winget. Mi configuración de muestra solía instalar varias aplicaciones (Firefox, Notepad++ y PowerToys) y eliminar 7-Zip si está instalado. También realiza cambios en el registro (habilita la copia de seguridad del registro de Windows usando elEnablePeriodicBackupopción).

Las aplicaciones de Microsoft Store se pueden instalar o eliminar mediante sus ID de aplicación. Por ejemplo, para obtener el ID de la aplicación PowerToys, ejecute:

winget show powertoys -s msstore

El comando para buscar nombres de paquetes de aplicaciones en Winget:

winget search appname

o entre aplicaciones instaladas:

winget list

Puede encontrar una muestra de dicho archivo YAML en nuestro repositorio de GitHub.https://github.com/maxbakhub/winposh/blob/main/DSC/winget_configure_dsc_sample_win11.yaml

Ahora, intentemos aplicar la configuración de este archivo YAML a través de Winget Configure. Primero, habilite la compatibilidad con DSC en WinGet:

winget configure --enable

Antes de aplicar la configuración DSC, se recomienda validar la sintaxis del archivo YAML.

winget configure validate winget_configure_dsc_sample_win11.yaml

Al igual que Python, los archivos YAML utilizan sangría para definir la estructura. Se basan en espacios en lugar de tabulaciones para representar bloques de datos anidados.

Ahora, aplique la configuración del archivo YAML a la computadora.

winget configure --file winget_configure_dsc_sample_win11.yaml --accept-configuration-agreements

WinGet lee la configuración del archivo YAML, instala/elimina las aplicaciones descritas y aplica la configuración de Windows especificada (laConfigurationRemotingServer.exeEl proceso analiza el archivo YAML y aplica la configuración). Así, con un solo comando, obtendrás un entorno Windows completamente configurado. En la pantalla aparecerá un registro detallado de la configuración de DSC aplicada.

Realice un ensayo para ver cómo la configuración actual de su computadora coincide con el archivo YAML.

winget configure test -f winget_configure_dsc_sample_win11.yaml --accept-configuration-agreements

Para todos los elementos que no coincidan con la configuración deseada, el comando devolverá:

Leer más:Cómo automatizar resúmenes de reuniones en Slack usando IA

System is not in the described configuration state.

Cuando vuelva a aplicar el archivo de configuración YAML, Winget Configure solo aplicará cambios que difieran de la configuración deseada.

ElsecurityContext: elevatedLa directiva significa que se requiere un mensaje de elevación único del Control de cuentas de usuario (UAC) para aplicar ciertos ajustes de configuración del sistema.

Con WinGet, puede especificar un archivo de configuración YAML ubicado en una página web externa como fuente para la configuración (esto permite automatizar la implementación de las configuraciones de estado deseadas a través de GitHub/GitLab).

winget configure --accept-configuration-agreements --disable-interactivity -f https://raw.githubusercontent.com/maxbakhub/winposh/refs/heads/main/DSC/winget_configure_dsc_sample_win11.yaml

WinGet permite a los administradores configurar máquinas Windows en un estado específico utilizando archivos YAML declarativos, lo que garantiza la idempotencia de la configuración y admite el enfoque de infraestructura como código (IaC) para la gestión del entorno Windows. WinGet con DSC le permite implementar un equivalente de Ansible-playbook para dispositivos Windows, lo que permite una gestión de configuración declarativa y automatizada.

Related Posts