Как узнать историю установленных обновлений Windows

Вы пытались найти старое крупное обновление Windows (например, переход с Windows 7 на Windows 10 или крупный релиз Windows 10), но обычный раздел «Просмотр истории обновлений» в Параметрах показывает только недавние патчи? Это распространённая ситуация — системные апгрейды хранятся в другом месте.
Ниже описаны два надёжных способа получить полную историю установленных апгрейдов. Оба подходят как для локальных машин, так и для удалённых компьютеров при наличии административного доступа.
Способ 1: через реестр Windows
Реестр хранит информацию о предыдущих запусках установки и апгрейдах. Чтобы просмотреть эти записи:
- Нажмите Windows + R.
- Введите regedit и нажмите Enter.
- Перейдите по пути \Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup.
- Найдите подразделы с именами, начинающимися на SourceOS или похожими ключами.
- В ключах смотрите значения ReleaseID, CurrentBuild, InstallTime и ProductName.
В моём примере последнее крупное обновление было 21 октября 2017 г., установлена сборка 15063 и путь установки — C:\Windows.
Важно: Редактор реестра — мощный инструмент. Неправильные изменения могут повредить систему. Перед модификацией реестра делайте резервные копии.
Способ 2: PowerShell
PowerShell позволяет сформировать удобную таблицу со всеми найденными апгрейдами. Запустите PowerShell от имени пользователя (обычно достаточно обычного запуска, но для удалённого доступа требуются права администратора) и выполните следующие команды.
Вставьте и выполните этот блок кода (сохранён оригинальный код для точного результата):
$AllBuilds = $(gci "HKLM:\System\Setup" | ? {$_.Name -match "\\Source\s"}) | % { $_ | Select @{n="UpdateTime";e={if ($_.Name -match "Updated\son\s(\d{1,2}\/\d{1,2}\/\d{4}\s\d{2}:\d{2}:\d{2})\)$") {[dateTime]::Parse($Matches[1],([Globalization.CultureInfo]::CreateSpecificCulture('en-US')))}}}, @{n="ReleaseID";e={$_.GetValue("ReleaseID")}},@{n="Branch";e={$_.GetValue("BuildBranch")}},@{n="Build";e={$_.GetValue("CurrentBuild")}},@{n="ProductName";e={$_.GetValue("ProductName")}},@{n="InstallTime";e={[datetime]::FromFileTime($_.GetValue("InstallTime"))}} };Затем выполните команду сортировки и вывода в табличном виде:
$AllBuilds | Sort UpdateTime | ft UpdateTime, ReleaseID, Branch, Build, ProductNameРезультат покажет строки с датой обновления, идентификатором релиза (ReleaseID), веткой сборки, номером сборки и названием продукта. Это удобнее, чем вручную перебивать реестр в RegEdit.
Если вы видите записи о переходе с Windows 7/8 на Windows 10, значит система когда-то проходила через такой апгрейд. Если запись отсутствует, возможно, компьютер был установлен «чисто» или реестр был очищен.
Когда эти способы могут не сработать
- Чистая установка (clean install): при полной переустановке предыдущая история обычно теряется.
- Очистка реестра или восстановление образа: некоторые образа и скрипты развертывания удаляют служебные ключи.
- Пользовательская сборка или OEM-образ: производители могут менять структуру ключей.
Если запись отсутствует, проверьте папки логов установки:
- C:\Windows\Panther
- C:\$WINDOWS.~BT\Sources\Panther
Там обычно содержатся файлы setupact.log и setuperr.log с информацией об установках и ошибках.
Альтернативные подходы
- Просмотр журналов в Event Viewer: Windows Setup и Application логируют события, связанные с установкой.
- Поиск файлов в системных папках (Panther, Panther\Rollback): файлы и логи сохраняют временные сведения об апгрейдах.
- Централизованный сбор: на предприятиях используйте инструменты управления (SCCM/Intune) для истории обновлений.
Контрольный список для администратора и пользователя
Администратор:
- Есть ли права на чтение HKLM? Если нет — предоставить.
- Выполнить PowerShell от имени администратора при необходимости.
- Собрать логи из C:\Windows\Panther при отсутствии записей в реестре.
Пользователь:
- Сохранить важные данные перед любыми изменениями.
- Не вносить изменения в реестр без инструкций администратора.
Глоссарий в одну строку
- ReleaseID: версия релиза Windows (например, 1709, 1803).
- CurrentBuild: номер сборки операционной системы.
- Panther: системная папка с логами установщика Windows.
Частые вопросы
Q: Можно ли откатить крупное обновление, увиденное в истории?
A: Откат возможен только если после апгрейда сохранились файлы для отката (обычно 10 дней по умолчанию) или есть системная точка восстановления/образ. Метод отката зависит от конкретной сборки и состояния файлов отката.
Q: Можно ли увидеть кто и когда инициировал апгрейд удалённо?
A: С помощью централизованных средств управления (SCCM/Intune) и логов безопасности можно получить дополнительную информацию о пользователях и времени запуска задач установки.
Итог
Реестр и PowerShell дают быстрый и надёжный способ просмотреть историю крупных апгрейдов Windows. Если записи отсутствуют — проверьте логи в папках Panther и образах отката. Всегда делайте резервные копии и внимательно относитесь к правам доступа при анализе реестра.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone