«

»

Распечатать Запись

Как узнать историю обновлений Windows 10 через Regedit и PowerShell

Иногда полезно узнать историю обновления ОС, например, если вы покупаете компьютер с рук и ожидаете, что 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 Евдокимов

Постоянная ссылка на это сообщение: http://TestSoft.su/kak-uznat-istoriyu-obnovlenii-windows-10-cherez-regedit-i-powershell/

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Вы можете использовать эти теги HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>