Экспорт списка программ Windows через PowerShell

Вы, вероятно, установили на компьютер несколько десятков программ. Легко забыть про те, которыми пользуетесь редко. При переустановке Windows или покупке нового ПК полезно иметь список установленных приложений — чтобы ничего не упустить.
Windows позволяет быстро сгенерировать такой список с помощью PowerShell. Не переживайте, если вы никогда не пользовались PowerShell: нужны всего несколько простых команд.
Что делает команда
Кратко: команда читает записи в системном реестре, где большинство программ регистрируют себя для удаления (Uninstall), и выводит столбцы DisplayName (название), DisplayVersion (версия), Publisher (издатель) и InstallDate (дата установки). Результат можно перенаправить в текстовый файл.
Определения терминов в одну строку:
- PowerShell — встроенная оболочка Windows для автоматизации и управления системой.
- HKLM/HKCU — корни реестра (локальная машина и текущий пользователь).
Базовая команда (как в источнике)
Вставьте в окно PowerShell (замените USERNAME на своё имя пользователя):
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSizeЧтобы записать вывод в файл на рабочий столе (замените USERNAME):
> C:\Users\USERNAME\Desktop\InstalledProgramsList.txtИли объединённая команда, создающая файл InstalledProgramsList.txt на рабочем столе:
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize > C:\Users\USERNAME\Desktop\InstalledProgramsList.txtВажно: в исходном примере иногда используется символ дефиса, похожий на длинное тире; в PowerShell нужен обычный дефис - перед параметрами (как в примерах выше).
Рекомендованный и надёжный вариант без подстановки имени пользователя
Чтобы не заменять USERNAME вручную и сразу записать файл в ваш профиль, используйте переменную окружения $env:USERPROFILE:
Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSize > "$env:USERPROFILE\Desktop\InstalledProgramsList.txt"Этот вариант корректно создаст файл на вашем рабочем столе независимо от учётного имени.
Дополнения и альтернативы
Перечень для текущего пользователя
Некоторые программы устанавливаются только для текущей учётной записи и записаны в HKCU. Чтобы получить их список, выполните:
Get-ItemProperty HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table -AutoSizeПриложения из Microsoft Store
Магазин приложений хранит пакеты иначе. Список установленных пакетов UWP можно получить так:
Get-AppxPackage | Select Name, PackageFullNameСовременный менеджер пакетов (winget)
Если установлен winget, список можно получить командой:
winget list > "%USERPROFILE%\Desktop\winget-installed.txt"Портабельные приложения и программы без записи в реестр не появятся в списке. Для таких случаев нужно проверять папки и ярлыки вручную.
Когда этот способ не сработает (контрпримеры)
- Портабельные (portable) приложения, которые не регистрируют себя в Uninstall.
- Программы, установленные только в виде ZIP/распакованных файлов без записи в реестр.
- Некоторые корпоративные установки, где записи находятся в нестандартных ключах реестра.
Практическое руководство: шаги для безопасного резервирования
- Откройте PowerShell (можно обычное окно; для некоторых ключей может потребоваться запуск от имени администратора).
- Выполните рекомендованную команду с $env:USERPROFILE.
- Откройте полученный файл на рабочем столе и проверьте, всё ли важное присутствует.
- Сохраните файл в облако (OneDrive, Google Drive) или на USB‑накопитель.
- При необходимости выполните экспорт списка с другой машины и сравните списки с помощью онлайн-сравнения текста или инструмента сравнения (diff).
Чек-лист перед переустановкой системы
- Сохранён список InstalledProgramsList.txt на внешнем носителе или в облаке
- Экспортированы пакеты Microsoft Store (Get-AppxPackage)
- Собраны портативные приложения вручную
- Проверены системные сервисы и драйверы, которые нужно восстановить отдельно
Критерии приёмки
- На рабочем столе появился файл InstalledProgramsList.txt с читаемыми названиями программ.
- В списке присутствуют основные приложения (браузер, офисный пакет, утилиты и т.д.).
- Если нужно — список дополнен экспортом пакетов Store и выводом winget.
Важно: файл на рабочем столе входит в профиль пользователя — при полном сбросе или переустановке Windows его нужно заранее скопировать в облако или на внешний диск.
Быстрые советы и безопасность
- Для полного покрытия проверяйте и HKLM, и HKCU.
- Для автоматизации можно сохранить команды в .ps1 файл и запускать по расписанию.
- Никогда не публикуйте содержимое экспортированных файлов с конфиденциальной информацией.
Image Credit: racorn via Shutterstock.com
Короткое резюме
Создание списка программ через PowerShell занимает одну команду и помогает восстановить набор приложений после переустановки или сравнить установки на разных машинах. Для надёжности экспортируйте также пакеты магазина и проверяйте портативные приложения вручную.
Похожие материалы
Таблицы в Obsidian: Markdown‑практика
Как поделиться паролем Wi‑Fi между iPhone
Опросы в Google Meet: создание и модерация
Как превратить PDF в буклет — BookletCreator
Телефон упал в воду — что делать