Иногда полезно узнать историю обновления ОС, например, если вы покупаете компьютер с рук и ожидаете, что Windows 10 установлена на чистый винчестер, а не поверх "семерки" или "восьмерки", что может сказаться на стабильности ее работы. Читайте ниже о двух способах сие сделать c помощью редактора реестра Regedit и командной оболочки PowerShell.
Просмотр истории обновлений Windows 10 через Regedit
К сожалению, Центр обновления не ведает о всех реинкарнациях Windows, ведь соответствующий журнал хранит только список апдейтов "десятки" (см. "Параметры" → "Обновление и безопасность" → "Центр обновления Windows" → "Просмотреть журнал установленных обновлений"). Однако нужная информация имеется в системном реестре и ее легко "выудить" силами встроенных утилит Regedit.exe и PowerShell.exe.
Поэтому клавиатурной комбинацией "Win + R" откройте окно "Выполнить", наберите regedit и кликните по "ОК" → далее, раскройте ветвь HKEY_LOCAL_MACHINE\SYSTEM\Setup и ознакомьтесь с разделами Source OS (с англ. "исходная ОС"). Каждый такой раздел содержит данные об "операционке" (параметр ProductName), ее владельце (параметр RegisteredOwner) и папке установки (параметр SystemRoot).
Если таких разделов нет – вам повезло, и "десятка" была установлена "начисто".
Просмотр истории обновлений Windows 10 через PowerShell
PowerShell – это оболочка командной строки Windows, построенная на базе .NET Framework и интегрированная с ним. Она предоставляет быстрый доступ в том числе к файловой системе, реестру и хранилищу сертификатов ОС. Для запуска инструментария нажмите клавишу с логотипом Windows ("Win"), введите в поле поиска PowerShell и выберите утилиту из появившегося одноименного ПО.
Дабы увидеть историю обновлений "Окон", скопируйте в окно PowerShell следующую команду и нажмите "Enter".
$Session = New-Object -ComObject “Microsoft.Update.Session”
$Searcher = $Session.CreateUpdateSearcher()
$historyCount = $Searcher.GetTotalHistoryCount()
$s = $Searcher.QueryHistory(0, $historyCount)
[psobject[]]$out = @()
foreach ($obj in $s)
{
$title = $obj.Title
$t1 = $title | select-string “\(.+\)” | Select-Object -ExpandProperty Matches | Select-Object -ExpandProperty value
$ErrorActionPreference = “SilentlyContinue”
$t2 = $t1.Replace(“(“,””)
$id = $t2.Replace(“)”,””)
$ErrorActionPreference = “Continue”
$psObj = New-Object PSObject
$psObj | Add-Member -Name ID -MemberType Noteproperty -Value $id
$psObj | Add-Member -Name Title -MemberType NoteProperty -Value $obj.Title
$psObj | Add-Member -Name Date -MemberType NoteProperty -Value $obj.Date
$out += $psObj
}
$out | Format-Table
Если в списке "обнов" нет Windows 7 и 8 – "десятка" инсталлировалась на чистый диск.
Примечание: В обзоре используется информация с сайта gHacks.net (статья Мартина Бринкманна "Display the Windows upgrade history using PowerShell" и комментарии к ней).
Дмитрий dmitry_spb Евдокимов
Свежие комментарии