WinGet — управление приложениями в Windows через командную строку

WinGet — это инструмент, который делает работу с приложениями в Windows ближе по опыту к тому, что привыкли видеть пользователи Linux: быстрый поиск, установка, массовые обновления и экспорт списка установленных программ. Ниже — переработанное практическое руководство с проверенными командами, советами по миграции и чек‑листами для разных ролей.
Что такое WinGet?
WinGet — официальный пакетный менеджер для Windows. Проще говоря, это утилита, которую можно запускать в Windows Terminal, PowerShell или CMD, чтобы управлять приложениями на компьютере без графического интерфейса. Она взаимодействует с репозиториями пакетов и локальной базой установленных программ.
Определение в одну строку: WinGet — консольный инструмент для установки, удаления, обновления и переноса приложений в Windows.
Важно: WinGet не заменяет Microsoft Store везде — он дополняет его, предоставляя массовые и автоматизированные операции.
Основные принципы и модель мышления
- Репозиторий = каталог доступных пакетов по ID.
- Локальная база = список установленных программ, которые видно через
winget list. - Операции идемпотентны: повторный запуск команды установки или обновления обычно ничего не ломает.
- Если вы хотите автоматизировать рабочую станцию или быстро восстановить набор приложений — экспорт/импорт JSON решает задачу.
Эти простые ментальные модели помогут понять, когда и зачем использовать WinGet.
Когда стоит использовать WinGet
Используйте WinGet, если вам нужно:
- Быстро установить приложение без поиска установщика в браузере.
- Обновить все приложения разом с одной команды.
- Подготовить список программ для переноса на новую машину.
- Стандартизировать набор софта для нескольких рабочих станций.
Не обязательно использовать WinGet, если приложение недоступно в репозитории WinGet или требует кастомной установки с набором опций, которых нет в манифесте.
Базовые команды и сценарии
Ниже — набор команд с пояснениями и примерами.
Посмотреть все установленные приложения
Команда:
winget listЭта команда показывает все приложения, которые WinGet обнаружил на системе, их версии и источник. Польза — можно быстро увидеть, где есть устаревшие версии.

Совет: добавляйте фильтры и перенаправляйте вывод в файл для анализа:
winget list > installed_apps.txtПоиск пакета
Команда:
winget search BraveWinGet вернёт список пакетов с совпадающими именами и ID. Запишите точный ID — его удобно использовать в следующей команде установки.

Установка приложения
Команда:
winget install Brave.BraveWinGet скачает и установит пакет без необходимости вручную загружать инсталлятор и проходить мастера установки.

Пример: установить браузер, проигрыватель или инструмент настройки системы — достаточно знать ID.
Обновление одного приложения
Команда:
winget upgrade Google.QuickshareЕсли у конкретного приложения есть обновление, эта команда обновит только его.
Обновление всех приложений
Команда:
winget upgrade --allЭта команда удобна при регулярном обслуживании: вы запускаете её и получаете актуальные версии без ручной проверки каждой программы.

Удаление приложения
Команда:
winget uninstall Google.Chrome.EXEWinGet попытается запустить деинсталлятор приложения. В некоторых случаях — если приложение нестандартно установлено — потребуется ручная очистка.

Экспорт и импорт списка приложений (миграция)
Экспорт текущего списка установленных приложений в JSON:
winget export -o e:\winget.jsonПеренесите файл winget.json на новый компьютер (например, на флешку) и выполните на новом ПК:
winget import -i g:\winget.jsonWinGet попытается последовательно установить все перечисленные пакеты. Это экономит часы ручной установки при переходе на новую машину.


Шпаргалка команд (cheat sheet)
- Просмотр установленных программ:
winget list - Поиск пакета:
winget search <имя> - Установка:
winget installилиwinget install <имя> - Обновление одного:
winget upgrade - Обновление всех:
winget upgrade --all - Удаление:
winget uninstall - Экспорт:
winget export -o <путь>\winget.json - Импорт:
winget import -i <путь>\winget.json
Совет по автоматизации: в сценариях PowerShell используйте проверку на присутствие пакета перед установкой:
if (-not (winget list --id Brave.Brave)) {
winget install Brave.Brave
}Типичные ошибки и как их решать
Пакет не найден в репозитории
- Причина: пакет отсутствует в публичном репозитории WinGet или указан неверный ID.
- Решение: попробуйте
winget searchс другими ключевыми словами, проверьте страницу разработчика, используйте MSI/EXE установщик вручную.
Установка зависает или требует ввода
- Причина: пакет требует интерактивных опций или ключей.
- Решение: изучите манифест пакета на предмет поддерживаемых параметров, используйте silent-флаги если доступны.
Деинсталляция не завершилась успешно
- Причина: нестандартный деинсталлятор или остаточные файлы.
- Решение: удалите вручную через Панель управления или используйте сторонние утилиты для очистки.
Импорт перестаёт на одном пакете
- Причина: конкретный пакет недоступен или конфликт версий.
- Решение: отредактируйте JSON и исключите проблемный пакет, затем повторите импорт.
Когда WinGet не подходит — альтернативы
- Microsoft Store: для приложений, опубликованных только в Store, удобнее использовать графический интерфейс.
- Ручная установка: если нужен кастомный инсталлятор с уникальными параметрами.
- Корпоративные системы развёртывания (SCCM, Intune): в сетях предприятия используют корпоративные решения для централизованного развёртывания и политики.
Безопасность и конфиденциальность
- Источник пакетов важен: доверяйте официальным репозиториям и издателям.
- WinGet сам по себе не собирает ваши личные данные при установке пакетов. Однако установленные приложения могут обращаться к сети — проверяйте политику конфиденциальности приложений.
- В корпоративной среде используйте подписанные манифесты и корпоративные репозитории для контроля поставщиков.
Чек‑лист по ролям
Для конечного пользователя:
- [ ] Научиться
winget searchиwinget install. - [ ] Раз в неделю запускать
winget upgrade --all. - [ ] Экспортировать
winget exportперед большой переустановкой.
Для администратора IT:
- [ ] Подготовить стандартный
winget.jsonсо списком разрешённых приложений. - Тестировать импорт на одной тестовой машине перед массовым развёртыванием.
- Документировать исключения (какие пакеты ставятся вручную).
Для системного инженера/DevOps:
- [ ] Включить
wingetв CI/CD сценарии для подготовки образов. - Контролировать источник пакетов и манифесты.
- Автоматизировать регулярные проверки и отчёты об обновлениях.
SOP: быстрый план миграции на новую машину
- На старой машине:
winget export -o e:\winget.json. - Перед переносом: просмотрите
winget.json, удалите тестовые или приватные пакеты. - Перенесите файл на новую машину (флешка, сетевой диск).
- На новой машине:
winget import -i g:\winget.json. - Проанализируйте лог установки, исправьте вручную пакеты с ошибками.
- Выполните
winget upgrade --allдля корректных версий.
Критерии приёмки
- Все бизнес‑критичные приложения успешно установлены и запускаются.
- Нет требуемых ручных установщиков, оставшихся незадокументированными.
- Все пользователи получили доступ к своим настройкам и профилям (если требуется перенос профилей отдельно).
Полезные сценарии и тонкие моменты
- Автономная установка: если нужно установить пакет на компьютер без доступа в интернет, сохраните установщики вручную и установите локально.
- Silent install: некоторые пакеты поддерживают
--silentили--accept-package-agreements— используйте эти флаги в автоматизированных сценариях. - Проверка из скрипта: парсинг вывода
winget listпригодится для ветвления логики в PowerShell.
Когда WinGet пригодится максимально
- При восстановлении рабочего окружения после переустановки ОС.
- При подготовке образов для новых машин.
- При регулярном массовом обновлении набора стандартного ПО.
Примеры сценариев (короткие рецепты)
Установить браузер Brave:
winget search Brave
winget install Brave.BraveОбновить все приложения и записать лог:
winget upgrade --all > winget-upgrade-log.txtЭкспортировать список и импортировать на новую машину:
winget export -o e:\winget.json
# перенести файл
winget import -i g:\winget.jsonКраткое сравнение с GUI‑альтернативами
- GUI (Microsoft Store) — проще для одного приложения и для непрофессионалов.
- WinGet — быстрее для массовых операций, автоматизации и репликации окружений.
Частые вопросы и ответы
- Можно ли использовать WinGet в скриптах для автоматической установки при развёртывании образов? Да, WinGet предназначен для автоматизации и хорошо вписывается в сценарии подготовки образов.
- Нужно ли подтверждение при установке? Для некоторых пакетов подтверждение может потребоваться; в автоматизированных сценариях используйте соответствующие флаги, если они поддерживаются.
WinGet — мощный и удобный инструмент для управления приложениями в Windows. Его несложно освоить: начните с просмотра установленного ПО (winget list), попробуйте установить пару привычных программ через winget install, и постепенно добавляйте автоматизацию в рабочие сценарии. Для миграции между машинами экспорт/импорт winget.json экономит множество часов ручной работы.
Ключевые действия для старта:
- Выполните
winget listиwinget upgrade --all. - Попробуйте установить приложение через
winget install. - Экспортируйте список и опробуйте импорт на второй машине.
Важно: всегда проверяйте источник пакета и, в корпоративной среде, придерживайтесь политик безопасности при добавлении сторонних репозиториев.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента