Windowsupdate что за файл

Обновлено: 06.07.2024

Центр обновления Windows - это услуга, предоставляемая Microsoft , которая обеспечивает обновления для операционных систем Microsoft Windows и его компонентов, включая Internet Explorer . Обновления предоставляются не только для операционной системы и Internet Explorer, но и также для другого программного обеспечения Microsoft, такого, как Microsoft Office , Windows Live, Microsoft Security Essentials и Microsoft Expression Studio .

Обновления для системы безопасности поставляются каждый второй вторник, но могут быть доставлены и в другое время, когда эти обновления критические и необходимы для избежания эпидемий вируса. Центр обновления Windows можно настроить для автоматической установки обновлений, это гарантирует, что компьютер всегда будет иметь последние обновления и не будет подвержен уязвимости компьютерных червей и других вредоносных программ.

Обновления Office

Microsoft Office Update существовавший ранее бесплатный интернет-сервис, с помощью которого пользователь мог найти и установить обновления для нужных ему продуктов Office. Этот сервис поддерживал обновления для Office 2000, Office XP, Office 2003, и Office 2007 . 1 августа 2009 года Microsoft отказался от этого сервиса. Теперь пользователи могли загрузить обновления для Office только через Microsoft Update. Однако Microsoft Update не поддерживает Office 2000, и пользователи с Office 2000 больше не имеют способа автоматического обнаружения и установки обновлений. Но это не столь важно для пользователей Office 2000, потому что в любом случае продукт больше не поддерживается и новые обновления не выпускаются. Но, тем не менее, это может вызвать ограничения для тех пользователей, которые хотят снова установить Office 2000.

Windows Vista, Windows Server 2008, и Windows 7

В Windows Vista , Windows Server 2008 и Windows 7 больше невозможно использовать обновления через веб-сайт. Вместо этого теперь используются автоматические обновления, которые имеют более широкую функциональность. Поддержка Microsoft Update также встроена в систему, но по умолчанию отключена. Новый Windows Update так же может быть настроен на автоматическую загрузку и установку важных и рекомендуемых обновлений. В предыдущих версиях Windows такие обновления были доступны только через веб-сайт.

В предыдущих версиях Windows, если обновление требовало перезагрузку, то каждые несколько минут появлялось окно с требованием от пользователя перезагрузить компьютер. Это диалоговое окно было изменено и теперь в нём можно выбрать время (до 4 часов), через которое будет предложена перезагрузка вновь. Новое диалоговое окно отображается так же, как и другие приложения, а не всегда поверх их.

Windows 8\8.1

В Windows 8\8.1 Центр обновления не получил никаких изменений, но помимо панели управления он появился в новой панели «Параметры»

Статистика

По состоянию на 2008 год, Windows Update имеет около 500 миллионов пользователей, поиск обновлений осуществляется около 350 миллионов раз в день, и обслуживается в среднем 1,5 млн одновременных соединений с клиентскими компьютерами. Во второй вторник месяца (в этот день Microsoft выпускает обновления системы безопасности Windows), скорость исходящего потока с сервера Windows Update может превышать 500 гигабит в секунду. Примерно 90 % всех пользователей автоматического обновления используют приложение Windows Update, а остальные 10 % получают обновления с помощью веб-сайта Windows Update.

Пакет обновления Windows – это большой сборник патчей и средств повышения надежности операционной системы. В случае с Windows существует 3 версии: sp1, sp2 и sp3. Настоятельно рекомендуется использовать самую последнюю – она наиболее стабильная и безопасная, поддерживает множество даже современных приложений. Если у вас до сих пор стоит sp2 или sp1, вы можете загрузить все необходимые обновления для ОС Windows XP, чтобы получить версию sp3.

Как узнать текущую версию

Для начала пользователям необходимо узнать, какая версия операционной системы Виндовс XP установлена на данный момент. Это можно сделать с помощью панели свойств компьютера:


Если же установлена sp2 или sp1– следуйте дальнейшим инструкциям.

Центр обновления Windows XP

Самый простой способ – автоматическое обновление. Компьютер самостоятельно загрузит все необходимые пакеты и установит их в фоновом режиме, не мешая вашей работе. Если бы автообновление было активно – система Windows XP уже установила бы sp3. Раз этого не произошло – необходимо данную функцию включить (хотя бы на время):


Теперь вам остается только подождать, пока все необходимые пакеты будет загружены с сервера Майкрософт и установлены на ваш ПК. В случае, если возникли какие-либо неполадки, и ничего не получилось, попробуйте альтернативный вариант, описанный ниже.

Загрузка пакета обновления с сайта Майкрософт

Вы также можете загрузить все необходимые файлы с серверов Microsoft и установить их в ручном режиме. Несмотря на то, что поддержка Виндовс XP уже закончилась, все необходимые пакеты доступны на официальном сайте в свободном доступе:


После этих действий пакет sp3 будет загружен на ваш персональный компьютер.

Установка обновления

Откройте загруженный файл.


В последней версии ОС от Microsoft отсутствует классическое приложение Центр обновления. Некоторые юзеры не могут установить пакеты обновлений на компьютер, потому что они не знают, где расположен в Windows 10 Центр обновлений. Где находится утилита, вы прочитаете в этой статье.

Где расположен?

Разработчики Microsoft убрали классическое приложение Центр обновлений Windows из . Теперь он расположен в приложении Параметры.

Меню Пуск → Параметры → Обновление и безопасность → пункт «Центр обновления Windows».

Чтобы проверить обновления для компьютера, нажмите на кнопку «Проверка наличия обновлений». В основном окне почти нет настроек приложения. Вы найдете их, нажав на пункт «Дополнительные параметры» (доступен только для версий Pro, Enterprise, Education).

Как восстановить классический вариант?

Если вы привыкли использовать классическое приложение для апдейта своего компьютера, восстановите классический Центр обновлений.

Важно! Этот способ работает только в ранних сборках Windows 10.


Более подробная инструкция указана на видео.

Отключение

Отключение приложения выполняется в стандартных утилитах – Службах и редакторе локальных групповых политики. Здесь же его можно снова включить. Информацию о том, как выполнить отключение другими способами, вы найдете в статье « ».

В службах

В редакторе локальных групповых политик

Важно! Этот способ доступен только в версиях Windows 10 Pro и Enterprise.


Полезно знать! После внесения изменений перейдите в параметры и проверьте наличие обновлений для компьютера. Не всегда изменения вступают в силу сразу.

На видео процесс отключения представлен наглядно.

Исправление ошибок при загрузке пакетов для апдейта


Вывод

Классический Центр обновлений в новой версии ОС в панели управления отсутствует. Он находится в приложении Параметры. Восстановить стандартную утилиту можно только в ранних сборках Windows 10. Если же при загрузке пакетов для апдейта ПК возникнут проблемы, сбросьте все настройки Центра обновлений.

Обновления для системы безопасности поставляются каждый второй вторник, но могут быть доставлены и в другое время, когда эти обновления критические и необходимы для избежания эпидемий вируса. Центр обновления Windows можно настроить для автоматической установки обновлений, это гарантирует, что компьютер всегда будет иметь последние обновления и не будет подвержен уязвимости компьютерных червей и других вредоносных программ.

Обновления Office

Microsoft Office Update существовавший ранее бесплатный интернет-сервис, с помощью которого пользователь мог найти и установить обновления для нужных ему продуктов Office. Этот сервис поддерживал обновления для Office 2000, Office XP, Office 2003, и Office 2007 . 1 августа 2009 года Microsoft отказался от этого сервиса. Теперь пользователи могли загрузить обновления для Office только через Microsoft Update. Однако Microsoft Update не поддерживает Office 2000, и пользователи с Office 2000 больше не имеют способа автоматического обнаружения и установки обновлений. Но это не столь важно для пользователей Office 2000, потому что в любом случае продукт больше не поддерживается и новые обновления не выпускаются. Но, тем не менее, это может вызвать ограничения для тех пользователей, которые хотят снова установить Office 2000.

Windows Vista, Windows Server 2008, и Windows 7

В Windows Vista , Windows Server 2008 и Windows 7 больше невозможно использовать обновления через веб-сайт. Вместо этого теперь используются автоматические обновления, которые имеют более широкий функционал. Поддержка Microsoft Update также встроена в систему, но по умолчанию отключена. Новый Windows Update так же может быть настроен на автоматическую загрузку и установку важных и рекомендуемых обновлений. В предыдущих версиях Windows такие обновления были доступны только через веб-сайт.

В предыдущих версиях Windows, если обновление требовало перезагрузку, то каждые несколько минут появлялось окно с требованием от пользователя перезагрузить компьютер. Это диалоговое окно было изменено и теперь в нём можно выбрать время (до 4 часов), через которое будет предложена перезагрузка вновь. Новое диалоговое окно отображается так же, как и другие приложения, а не всегда поверх их.

Windows 8\8.1

В Windows 8\8.1 Центр обновления не получил не каких изменений, но помимо панели управления он появился в новой панели "Параметры"

Windows 10

В новой Windows 10 Центр обновления больше не присутствует в панели управления, а присутствует только в панели "Параметры"

Статистика

По состоянию на 2008 год, Windows Update имеет около 500 миллионов пользователей, поиск обновлений осуществляется около 350 миллионов раз в день, и обслуживается в среднем 1,5 млн. одновременных соединений с клиентскими компьютерами. Во второй вторник месяца (в этот день Microsoft выпускает обновления системы безопасности Windows), скорость исходящего потока с сервера Windows Update может превышать 500 гигабит в секунду. Примерно 90% всех пользователей автоматического обновления используют приложение Windows Update, а остальные 10% получают обновления с помощью веб-сайта Windows Update.

Обновления операционной системы позволяют держать в актуальном состоянии средства безопасности, программное обеспечение, исправлять ошибки, совершенные разработчиками в предыдущих версиях файлов. Как известно, Майкрософт прекратил официальную поддержку, следовательно, и выпуск обновлений Windows XP с 8.04.2014. С тех пор все пользователи этой ОС предоставлены сами себе. Отсутствие поддержки означает, что Ваш компьютер, не получая пакеты безопасности, становится уязвимым для вредоносного ПО.

Не многие знают, что некоторые государственные учреждения, банки и пр. до сих пор пользуются особой версией Windows XP — Windows Embedded. Разработчиками заявлена поддержка данной ОС до 2019 года и обновления для нее доступны. Вы, наверное, уже догадались, что можно использовать пакеты, предназначенные для этой системы, в Windows XP. Для этого необходимо произвести небольшую настройку реестра.

Предупреждение: совершая действия, описанные в разделе «Модификация реестра», Вы нарушаете лицензионное соглашение Microsoft. Если таким образом будет модифицирована Windows на компьютере, официально принадлежащем организации, то при очередной проверке могут возникнуть проблемы. Для домашних машин такой угрозы нет.

Модификация реестра


Результатом наших действий станет то, что наша операционная система будет идентифицироваться Центром обновлений, как Windows Embedded, и нам на компьютер будут поступать соответствующие обновления. Технически никакой угрозы это не несет – системы идентичны, с небольшими отличиями, которые не являются ключевыми.

Ручная проверка


Ручное обновление выполнено, теперь компьютер защищен, насколько это возможно.

Автоматическое обновление

Для того, чтобы не ходить каждый раз на сайт Windows Update, нужно включить автоматическое обновление операционной системы.


Заключение

Регулярное обновление операционной системы позволяет нам избежать многих проблем, связанных с безопасностью. Почаще заглядывайте на сайт Windows Update, а лучше позвольте ОС самой устанавливать обновления.

Однако чаще всего под названием Windows Update имеют ввиду именно обновления Windows.

Важные моменты

Внешний вид Windows Update





Если есть обновы, то будет указано сколько их, размер, в общем вся важная нужная инфа:


В семерке Центр обновления находится в панели управления. Там нужно найти значок. Кстати панель управления можно запустить так: Win + R, далее команда control или control panel (способ работает чуть ли не во всех версиях винды).

В Windows 8 все похоже:


Также находится в панели управления. И только в десятке теперь все находится в окне Параметры.

Как отключить Windows Update?


Потом собственно отключаете:


В десятке запускаете окно Параметры (Win + I), далее в самом низу Обновление и безопасность:



Далее можете их отключить, но только временно. Используйте настройки:

  • Приостановить до
  • Выберите когда устанавливать

Можете выставить по максимум.. потом все равно придется обновиться.

На заметку. Я кстати использую утилиту DoNotSpy10, позволяющую отключить все лишнее/ненужное в винде. Пользуюсь давно, правда у меня еще версия Windows 10 LTSB.. где по умолчанию многое отключено. Короче возможно DoNotSpy10 может сделать так, что обновления вы будете получать только тогда когда нажмете на кнопку проверки их наличия. Попробуйте, винда быстрее даже станет работать после DoNotSpy10.

В принципе если на ПК установлен мощный антивирус, версия максимальная, например Касперский, лицензия, настроен на высокую безопасность.. то я думаю с таким антивирусом обновы можно временно отложить.

Заключение

Надеюсь информация оказалась полезной. Удачи, добра, до новых встреч господа!

Эта статья предназначена для ИТ-специалистов. В ней описывается изучение файла Windowsupdate.log для устранения неполадок Центра обновления Windows. Пользователям домашних компьютеров рекомендуется статья Средство устранения неполадок Центра обновления Windows.

Аннотация

Начиная с Windows 8.1 (в том числе и в Windows 10), клиент Центра обновления Windows создает журналы диагностики с помощью трассировки событий для Windows (ETW). Данный способ повышает эффективность и сокращает использование дискового пространства. Однако журналы доступны для чтения не сразу после записи. Чтобы читать журналы как текстовые файлы, их нужно сначала расшифровать.

Темы, рассматриваемые в этой статье

Создание файла WindowsUpdate.log

Чтобы объединить и преобразовать файлы трассировки WU (ETL-файлы) в единый читаемый файл WindowsUpdate.log, см. командлет Get-WindowsUpdateLog.

Примечание. При запуске командлета Get-WindowsUpdateLog создается копияфайла WindowsUpdate.log в виде статического файла журнала. В отличие от прежнего файла WindowsUpdate.log, такой файл не обновляется автоматически: чтобы получить актуальные данные, нужно запустить командлет Get-WindowsUpdateLog еще раз.

Компоненты журнала Центра обновления Windows

У модуля WU есть различные имена компонентов. Ниже описаны самые популярные компоненты, отображаемые в файле WindowsUpdate.log:

AGENT — агент Центра обновления Windows

AU — эту задачу выполняет служба автоматических обновлений

AUCLNT — взаимодействие между AU и вошедшим в систему пользователем

CDM — диспетчер устройств

CMPRESS — агент сжатия

COMAPI — API Центра обновления Windows

DRIVER — сведения о драйвере устройства

DTASTOR — обработка транзакций базы данных

EEHNDLER — обработчик выражений, используемый для оценки пригодности обновлений

HANDLER — управляет установщиками обновлений

MISC — общая служебная информация

OFFLSNC — обнаружение доступных обновлений без подключения к сети

PARSER — анализирует сведения выражений

PT — синхронизирует сведения об обновлениях с локальным хранилищем данных

REPORT — сбор сведений отчетов

SERVICE — запуск/выключение службы автоматических обновлений

SETUP — устанавливает новые версии клиента Центра обновления Windows по мере их выхода

SHUTDWN — функция установки при выключении

WUREDIR — файлы перенаправителя Центра обновления Windows

WUWEB — элемент управления ActiveX Центра обновления Windows

ProtocolTalker — синхронизация клиент/сервер

DownloadManager — создает и отслеживает скачивание полезной нагрузки

Handler, Setup — установка обработчиков (CBS и др.)

EEHandler — оценка правил применимости обновлений

DataStore — локальное кэширование данных обновлений

IdleTimer — отслеживание активных вызовов,остановка службы

Структура журнала Центра обновления Windows

В структуре журнала Центра обновления Windows выделяется четыре основных обозначения:

Идентификаторы процесса и потока

Идентификатор обновления и номер редакции

Структура файла WindowsUpdate.log обсуждается в следующих разделах.

Метка времени указывает время записи в журнал.

Пауза в ходе синхронизации может свидетельствовать о проблеме с сетью, даже если проверка успешно завершилась.

Длинная пауза перед окончанием проверки может указывать на проблему в цепочке замены.

Идентификаторы процесса и потока — произвольные величины, которые могут отличаться в разных журналах и даже сеансах обслуживания в рамках одного журнала.

Первые четыре шестнадцатеричных цифры — идентификатор процесса.

Следующие четыре шестнадцатеричных цифры — идентификатор потока.

У каждого из компонентов, включая USO, модули WU, вызывающие API COM, и обработчики установщиков WU, есть свои идентификаторы процессов.

Поиск и определение компонентов, связанных с идентификаторами. Различным частям модуля WU соответствуют различные имена компонентов. Некоторые из них приводятся ниже.

ProtocolTalker — синхронизация клиент/сервер

DownloadManager — создает и отслеживает скачивание полезной нагрузки

Handler, Setup — установка обработчиков (CBS и др.)

EEHandler — оценка правил применимости обновлений

DataStore — локальное кэширование данных обновлений

IdleTimer — отслеживание активных вызовов,остановка службы

Идентификатор обновления и номер редакции

У одного обновления в разных контекстах существуют различные идентификаторы. Важно знать схемы назначения идентификаторов.

«Идентификатор обновления»: GUID (указанный на предыдущем снимке экрана), который назначается тому или иному обновлению в момент публикации

«Номер редакции»: номер увеличивается каждый раз, когда то или иное обновление (с заданным идентификатором обновления) изменяется или повторно публикуется в службе

Номера редакций повторно используются для различных обновлений (не считаются уникальными идентификаторами).

Идентификатор обновления и номер редакции обычно отображаются вместе как «.редакция».

Идентификатор редакции (не путать с «номером редакции») — серийный номер, присваиваемый обновлению при первоначальной публикации или изменении в той или иной службе.

После изменения существующее обновление сохраняет свой идентификатор обновления (GUID), при этом его номер редакции увеличивается на единицу (например, со 100 до 101), а идентификатор редакции изменяется полностью и никак не соотносится с предыдущим идентификатором.

Идентификаторы редакций уникальны только в рамках одного источника обновления.

У одной и той же редакции обновления могут быть совершенно разные идентификаторы редакций в службах WU и WSUS.

При этом одинаковые идентификаторы редакций могут соответствовать разным обновлениям в службах WU и WSUS.

«Локальный идентификатор» — серийный номер, присваиваемый обновлению при получении от службы тем или иным клиентом WU.

Обычно отображается в журналах отладки, особенно с участием локального кэша для сведений об обновлениях (хранилище данных).

Различные клиентские компьютеры могут назначать одному и тому же обновлению различные локальные идентификаторы.

Чтобы узнать локальные идентификаторы, используемые клиентом, обратитесь к файлу %WINDIR%\SoftwareDistribution\Datastore\Datastore.edb.

Иногда в журналах термины используются непоследовательно. К примеру, список «InstalledNonLeafUpdateIDs» на самом деле содержит идентификаторы редакций, а не обновлений.

Идентификаторы можно распознать по форме и контексту:

GUID — идентификаторы обновлений

Небольшие целые числа рядом с идентификаторами обновлений — номера редакций

Большие числа — это обычно идентификаторы редакций

Небольшие целые числа (особенно в хранилище данных) могут быть локальными идентификаторами

Как работает проверка Центра обновления Windows

В процессе проверки Центр обновления Windows выполняет следующий набор действий.

Когда пользователи начинают проверку в Центре обновления Windows через панель настроек, наблюдается следующее поведение:

Обновления определяются различными идентификаторами («Id = 10», «Id = 11») и различными номерами идентификаторов потока.

Чтобы сосредоточиться на конкретной задаче, WU фильтрует эти идентификаторы потока.

После начала проверки агент Центра обновления Windows создает идентификаторы службы:

они указывают, какой источник обновления проверяется.

Примечание. На следующем снимке экрана показан Центр обновления Microsoft и службы фокус-тестирования.

Модуль WU рассматривает каждую службу как отдельный объект, несмотря на то что несколько служб могут содержать одинаковые обновления.

Типовые идентификаторы служб

: файлы, устанавливаемые пользователем в беспроводном режиме

: служба по умолчанию. Обычно это службы WSUS или SCCM (если они настроены) либо Центр обновления Microsoft, если выбран параметр Центр обновления Microsoft, в противном случае — Центр обновления Windows.

Часто сбой обновления происходит из-за проблем с сетью. Чтобы найти причину проблемы:

На сайтах, где используются только службы WSUS/SCCM, служба SLS может блокироваться на брандмауэре. В этом случае произойдет сбой запроса SLS и проверка не будет выполнена для WU/MU и др., зато будет поддерживаться для служб WSUS/SCCM благодаря локальной настройке.

Вопрос. Почему не предлагается «обновление X»?

Запишите идентификатор отсутствующего обновления (GUID).

Найдите нужное обновление с помощью поиска.

Щелкните по его названию, чтобы открыть окно информации об обновлении.

Запишите идентификатор updateid, отображаемый в строке адреса.

Откройте файл журнала и поищите нужный идентификатор. Если этот номер найден, перейдите к «идентификаторам дочернего обновления». Если идентификатор не найден, возможны два варианта:

Обновление не одобрено (даже для проверки) на сервере Windows Server Update Service (WSUS).

Предварительное требование не выполнено.

Примечание. Эти условия могут возникать в WU или MU только в том случае, если обновление выдается с учетом географического положения. Для WSUS и System Center Configuration Manager данное условие требует расследования на стороне сервера.

О предварительных требованиях

У большинства обновлений бывает одно или несколько предварительных требований. Если они не выполнены, обычно служба не сообщает клиенту об обновлении. Поэтому обновление не будет указано в журнале. Узнав идентификатор обновления для предварительных требований, поищите эти идентификаторы в журнале, чтобы установить, почему они определены как «неприменимые».

Если идентификатор предварительного требования не указан в журнале, значит у него есть свой набор требований, которые не были выполнены. В этой ситуации двигайтесь вверх по цепочке, пока не найдете предварительные требования, оцениваемые клиентом.

Также изучите XML-файл публикации. В нем содержится идентификатор обновления и вся остальная информация, которая необходима для дальнейшего расследования этой ситуации.

Вы когда-нибудь задумывались, с помощью чего формируется список установленных обновлений Windows? А через какое API его достать? Ответы на эти и другие возникающие вопросы я постараюсь дать в своём небольшом исследовании.




Предыстория или с чего всё началось.

В нашей компании каждый год проходит конференция молодых специалистов, где каждый участник может решить проблему какого-либо отдела (список тем заранее предлагается).

Раньше на каждое «ТО» с помощью WSUS подтягивались все выпущенные обновления и распространялись на все машины. Также периодически выходили ТСБ (технические сервисные бюллетени), в которых указывалось, что требуется установить необходимые обновления в виде изолированных пакетов. В итоге у нас накапливаются обновления, которые в WSUS отследить нельзя, а можно было увидеть только через панель управления в разделе «Установленные обновления».

Наглядная схема обновления

Бывают ситуации, когда АРМ или сервер «падает» и приходится его восстанавливать из образа, созданного некоторое время назад. При восстановлении из образа есть вероятность того, что мы можем потерять нужные нам обновления (которые пришли в виде изолированных пакетов), которые устанавливались до падения машины. Объяснил максимально подробно насколько мог, потому что уточнения будут уже коммерческой тайной.

Как вы могли догадаться из названия статьи, уже на выборе метода получения списка у меня возникла непростая задача. Я, как обычно, решил поискать нужное в поисковике, задал вопросы на профильных ресурсах (раз, два, на английском stackoverflow почему-то не понравился мой вопрос и его пришлось удалить), но все ответы не давали нужного результата. Поэтому пришлось разбираться самому, о чем и пойдет речь далее.

Консольные команды

Начнем с простого и воспользуемся тем, что предлагает нам Windows без использования сторонних средств. Это можно сделать с помощью следующих команд:

  • wmic qfe list
  • systeminfo
  • dism /online /get-packages
  • через PowerShell:

  • Get-HotFix
  • Get-SilWindowsUpdate (доступно только в серверных редакциях)
  • Get-WmiObject -Class win32_quickfixengineering — через доступ к WMI классу win32_quickfixengineering (о WMI чуть позже)

Получить список через графический интерфейс можно через стандартный пункт Панели управления «Установка/удаление программ», но скопировать оттуда мы ничего не можем. Каждый инструмент панели управления представлен файлом .cpl в папке Windows\System. Файлы .cpl в системную папку Windows автоматически загружаются при запуске панели управления. За пункт Программы отвечает файл Appwiz.cpl. Его анализ ни к чему не привел.

Формально все методы получения списка обновлений можно разделить на две группы: локальные и сетевые.

Локальные и сетевые методы получения информации

Все методы проверялись на чистых образах систем (Windows 7, 8, Server 2012 R2) с интегрированными обновлениями, после каждого обновления через Центр обновления с официальных серверов Microsoft проводилась дополнительная проверка. Остановимся на каждом из них подробнее.


WUApi (Windows Update Agent API) — использование API агента обновления Windows. Самый явный вариант, название которого говорит само за себя. Использовать для этого будем библиотеку Wuapi.dll.
Примечание: далее для своего удобства все результаты я буду вставлять в List. Это, возможно, не рационально, но тогда мне это казалось хорошей идеей.

Есть и вторая вариация этого метода: Update Session — получение информации с помощью подключения к сессии обновления Windows Update Agent (в данном случае работаем не напрямую с библиотекой).

Microsoft подсказывает об удаленном использовании API.

Главный минусы этих двух методов — не позволяют найти исправления KB, которые не распространяются через Центр обновления Windows. Можно увидеть только то, что прошло через сам агент обновления, то есть данный вариант нас не устраивает.

Система обслуживания образов развертывания и управления ими (Deployment Image Servicing and Management) — это средство командной строки, которое может использоваться для обслуживания образа Windows или для подготовки образа среды предустановки Windows (Windows PE). Является заменой диспетчера пакетов (Pkgmgr.exe), PEimg и Intlcfg.

Данная утилита используется для интеграции обновлений, сервис паков в образ системы. Обновления Windows представляют собой отдельные модули, которые могут быть представлены в нескольких вариантах:

  • .cab-файлы (Cabinet) — архивы. Предназначены для распространения и установки при помощи модулей Центра обновлений Windows в автоматизированном режиме;
  • .msu-файлы (Microsoft Update Standalone Package) — исполняемые файлы. Предназначены для распространения и установки самими пользователями в ручном режиме через каталог обновлений Microsoft. Фактически представляют собой упакованный набор, состоящий из .cab-, .xml, .txt-файлов.

Количество обновлений совпадало с количеством из списка Панели управления до первого апдейта через центр управления — после него количество обновлений стало меньше (было 214, стало 209), хотя по логике они должны были увеличиться. Примеры вывода До обновления, После обновления.

С чем это связано я могу только предполагать — возможно, какие-то обновления замещали предыдущие, следовательно, и количество стало меньше.

Чуть позже я наткнулся на утилиту от китайцев DISM++, которая основана не на DISM API или DISM Core API, но имеющиеся в ней библиотеки не имеют нужных мне открытых методов, поэтому я забросил эту идею и продолжил поиски дальше.

Windows Server Update Services (WSUS) — сервер обновлений операционных систем и продуктов Microsoft. Сервер обновлений синхронизируется с сайтом Microsoft, скачивая обновления, которые могут быть распространены внутри корпоративной локальной сети. Опять же специальный инструмент, предназначенный для работы с обновлениями.

Распространяется только на серверных редакциях ОС Windows, поэтому был развернут следующий стенд:

  • основная система – Windows Server 2016;
  • а через систему виртуализации Hyper-V были развернуты две клиентские ОС:
    • Windows 8.1
    • Windows 7

    Чтобы не выделять раздел жесткого диска для новой системы я пользуюсь WinNTSetup и устанавливаю систему в VHD диски — загрузчик, начиная с Windows 7 (редакций Professional/Ultimate), прекрасно справляется с загрузкой с образа диска. Полученные таким образом диски можно спокойно использовать и в Hyper-V — убиваете сразу двоих зайцев. Не забудьте только сделать заранее копию хранилища BCD через команду bcdedit /export e:\bcd_backup.bcd.

    Настраивать AD для рассылки обновлений я не захотел, поэтому просто прописал в групповых политиках путь к WSUS серверу:

    Параметры настройки

    Обязательно уделите внимание на порт, я из-за опечатки (8350 вместо 8530) не мог получить обновления на клиентских машинах, хотя сделано было всё верно. Так же названия пунктов в групповых политиках на Windows 7 и Windows 8 различаются.

    Для получения отчета средствами WSUS необходимо дополнительно установить пакет — система уведомит вас об этом.

    Так как интернета нет, то ситуация с обновлениями выходит как на скриншоте ниже:


    Поведение похоже на WUApi — если обновления не прошли через них, то они не знают об этом. Поэтому данный метод снова не подходит.

    Windows Management Instrumentation (WMI) в дословном переводе — инструментарий управления Windows.

    WMI — реализованный корпорацией Майкрософт стандарт управления предприятием через Интернет для централизованного администрирования и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows. WMI является открытой унифицированной системой интерфейсов доступа к любым параметрам операционной системы, устройствам и приложениям, которые функционируют в ней.

    Данный метод позволяет получить данные как с локальной машины, так и удаленно в пределах локальной сети. Для обращения к объектам WMI используется специфический язык запросов WMI Query Language (WQL), который является одной из разновидностей SQL. Получать список мы будем через WMI класс win32_quickfixengineering.

    Количественно всё совпадает (даже после обновлений), поэтому было решено использовать этот метод. Для программного создания WMI запросов советую использовать следующую утилиту — WMI Delphi Code Creator. Благодаря ей я немного по другому взглянул на свой код и решил использовать заготовку из этой программы.

    Полученные данные методом WMI меня не остановили, и я решился на „поверхностный реверс-инжиниринг“. Воспользуемся утилитой Process Monitor из сборника программ Sysinternals Suite для выявления файлов и ветвей реестра, которые используются при вызове выше перечисленных консольных команд и обращению к пункту „Установленные обновления“ через Панель управления.

    Моё внимание привлек файл wuindex.xml, расположенный в папке C:\Windows\servicing\Packages\. Для его анализа была написана следующая программа:

    К сожалению, данный файл встречается не на всех системах и принцип его генерирования и обновления остался для меня загадкой. Поэтому снова данный метод нам не подходит.

    Вот мы подошли к тому, с чем связаны все эти методы. Продолжая анализ логов Process Monitor я выявил следующие папки и файлы.

    Файл DataStore.edb, расположенный в папке C:\Windows\SoftwareDistribution\DataStore. Это база данных, в которой содержится история всех обновлений установленной версии Windows, включая те обновления, которые только стоят в очереди.

    Для анализа файла DataStore.edb использовалась программа ESEDatabaseView. В БД существует таблица tbUpdates, содержимое которой трудно интерпретировать.

    Таблица tbUpdates в ESEDatabaseView

    После мое внимание привлек процесс TiWorker.exe, который вызывался каждый раз при открытии пункта в Панели управления. Он „ходил“ по многим папкам, одна из которых вывела меня на верный путь.

    C:\Windows\SoftwareDistribution — это папка, используемая службой обновления Windows для загрузки обновлений на компьютер с последующей их установкой, а также хранит сведения обо всех ранее установленных обновлениях.

    Папка WinSxS, расположенная по адресу C:\Windows\winsxs. Это служебная папка операционной системы Windows служащая для хранения ранее установленных версий системных компонентов. Благодаря ее наличию существует возможность отката к более старой версии обновления в случае необходимости.

    C:\Windows\servicing — основная составляющая всей системы, имя которой Component-Based Servicing (CBS).

    CBS — обслуживание на основе компонентов, составляющая Windows, интегрированная с службой Windows Update. В противоположность обслуживанию на основе файлов File-Based Servicing (FBS) (для ОС, предшествующих Windows Vista), в котором файлы обновлялись прямо в системных директориях, в CBS появилась целая иерархия директорий и целое семейство (стек) модулей/библиотек обслуживания.

    CbsApi.dll — основная библиотека поддержки технологии CBS. Не имеет открытых методов, поэтому напрямую использовать её я не смог. Microsoft использует TrustedInstaller.exe и TiWorker.exe для доступа к методам данной библиотеки и уже через эти процессы выводит нужные нам данные. ‪Записи ведутся в C:\Windows\Logs\CBS\CBS.log.

    Вывод

    Microsoft слишком усложнила тривиальную задачу по получению списка обновлений и сделала этот процесс не совсем явным. Всё это сделано для безопасности, но не для простоты использования. Соглашусь с автором статьи — в получении обновлений стали отсутствовать предсказуемость и прозрачность.

    В результате исследования была написана следующая программа, демонстрацию работы которой можно увидеть в данном видео:

    Читайте также: