Загрузка 0
ПОДЕЛИТЬСЯ

Мой блог

Листай вниз

Как я переустановил Windows с помощью одного YAML-файла через winget

Как я переустановил Windows с помощью одного YAML-файла через winget

Настройка нового компьютера или чистая установка операционной системы часто отнимает много времени на поиск и скачивание привычного софта. Чтобы избавиться от рутинного клика по установщикам, можно использовать официальный пакетный менеджер Microsoft и создать единый сценарий автоматизации. Подробно о том, как устроен этот подход, рассказано в официальной статье на сайте XDA Developers.

Инструмент winget позволяет автоматизировать развертывание программ и базовых параметров системы. В этом обзоре мы рассмотрим практический опыт автоматизации установки ПО с помощью конфигурационных файлов.

Автоматическая установка приложений через winget в Windows
Процесс автоматической инсталляции списка приложений из конфигурационного сценария.

Экспорт установленного софта и ограничения команды

Утилита winget представляет собой официальный менеджер пакетов командной строки от Microsoft, функционал которого во многом напоминает пакетные менеджеры в Linux. С его помощью можно искать, устанавливать, удалять и обновлять приложения. Особое значение для автоматизации имеет команда экспорта, позволяющая выгрузить список всех инсталлированных пакетов в файл формата JSON.

Реклама

При выполнении команды экспорта с фиксацией версий создается перечень программ, найденных в репозиториях winget и Microsoft Store. Однако такой файл не охватывает софт, установленный вручную из независимых источников. Кроме того, полученный JSON-документ не подходит напрямую для команды настройки, которой требуется формат YAML. Из-за этого файл приходится предварительно конвертировать и редактировать вручную, удаляя дубликаты, возникшие из-за параллельного наличия системных и пользовательских версий приложений.

Подготовка конфигурационного файла YAML

Для применения параметров используется команда настройки winget, способная за один проход обрабатывать как приложения, так и конфигурацию операционной системы. Поскольку команда экспорта не переносит настройки Windows, их требуется добавлять в итоговый YAML-документ вручную. В число таких параметров могут входить включение режима разработчика, отображение скрытых файлов и расширений, а также активация темной темы оформления.

При работе с большим количеством программ целесообразно разделить общий перечень на несколько логических частей. Например, выделить в отдельный файл основные инструменты разработчика и повседневный софт, а во второй документ — вендорские утилиты, игровые лаунчеры и специализированные приложения. Подобное разделение упрощает тестирование и дальнейшее обслуживание конфигурации.

Тестирование конфигурации на виртуальной машине

Перед применением файла на рабочем ПК работоспособность сценария проверяется на изолированной виртуальной машине. В тестовом окружении с чистой установкой Windows 11 проверяется наличие актуальной версии пакетного менеджера. Перед запуском конфигурации требуется включить саму службу настройки с помощью специальной команды активации, после чего выполнить валидацию файла.

В ходе тестовых испытаний с набором из нескольких десятков приложений и заданными параметрами системы процесс установки занимает около 12–14 минут при условии своевременного подтверждения системных запросов. Подобные тесты подтверждают жизнеспособность выбранного метода, хотя и выявляют некоторые технические нюансы, связанные с правами администратора и всплывающими окнами контроля учетных записей.

Что остается за рамками автоматизации

Важно учитывать разницу между установкой программ и их полноценной конфигурацией. Пакетный менеджер успешно скачивает и инсталлирует приложения, однако они открываются в состоянии «по умолчанию»: в браузерах отсутствуют истории и профили, утилиты требуют повторного входа в учетные записи, а специализированные среды разработки не содержат ранее установленных плагинов, если те не были прописаны в сценарии явно.

Кроме того, конфигурационные файлы не фиксируют версии жестко намертво, поэтому система может получить более свежие сборки ПО. Лицензионные пакеты вроде офисных или графических суитсов требуют отдельной авторизации и ввода ключей вручную. Также в целях безопасности из подобных скриптов осознанно исключаются конфиденциальные данные, такие как SSH-ключи и учетные данные Git.

Создание надежной базы вместо точной копии

Подобный эксперимент доказывает, что применение единого файла конфигурации существенно сокращает время на развертывание рабочего окружения и избавляет от необходимости вручную скачивать десятки дистрибутивов. Полученный документ выступает в роли надежной отправной точки, а не абсолютной копии старой системы, поскольку перенос драйверов или файлов сессий не имеет практического смысла.

Документируемый и повторяемый базовый сценарий оказывается значительно эффективнее ручной установки с нуля или попыток вспомнить весь необходимый софт по памяти. Это удобный подход для быстрой подготовки рабочего места после переустановки операционной системы.

01.