Менеджер пакетов WinGet в Windows не только упрощает установку приложений, но также позволяет управлять конфигурацией через декларативные YAML файлы. Это значит, что администраторы могут описывать желаемое состояние системы, после чего WinGet, используя PowerShell Desired State Configuration (DSC), автоматически подстраивает Windows под эти параметры.
Функция управления конфигурациями с помощью DSC была внедрена с версией 1.6.2631 в 2023 году и поддерживается на Windows 11 и Windows 10 начиная с 1809 версии. Команда winget configure строится на возможностях PowerShell DSC 3.0 и позволяет управлять установками, удалениями, параметрами системы и приложений. Применение такого файла значительно облегчает процессы развёртывания как рабочих станций, так и серверов.
Вот пример простого YAML файла, который устанавливает Firefox и Notepad++, удаляет 7-zip, если он есть, и активирует автоматический бэкап реестра. ID приложения для Microsoft Store, например, PowerToys, можно получить командой:
winget show powertoys -s msstore
Применение конфигурации начинается с активации поддержки DSC через:
winget configure --enable
Чтобы убедиться в корректности синтаксиса YAML-файла, используйте:
winget configure validate win11_wks_base_conf1.yaml
Применить конфигурацию можно следующей командой:
winget configure --file win11_wks_base_conf1.yaml --accept-configuration-agreements
По завершении операции будет выведен лог применённых параметров. Проверить соответствие текущей конфигурации можно с помощью команды:
winget configure test -f win11_wks_base_conf1.yaml --accept-configuration-agreements
Если система не соответствует описанию, появится сообщение о расхождениях.
Важно отметить, что securityContext: elevated требует повышения привилегий UAC для некоторых настроек. WinGet также поддерживает конфигурации через ссылки на веб-страницы, что позволяет эффективно интегрировать их с GitHub или GitLab.
Таким образом, использование WinGet для конфигурации Windows через YAML-файлы обеспечивает автоматизацию и устойчивость процессов, реализуя концепцию Infrastructure as Code (IaC) для управления устройствами на базе Windows.
Добавить комментарий