Как найти список обновлений windows

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

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

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

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

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

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

Вот поэтому и возникла идея создать программу, которая бы могла извлечь этот список обновлений (желательно удаленно по локальной сети), записать в файл/базу, сравнить текущий перечень с неким шаблоном и выдать сообщение на SCADA систему через один из протоколов — SNMP, OPC.

Как вы могли догадаться из названия статьи, уже на выборе метода получения списка у меня возникла непростая задача. Я, как обычно, решил поискать нужное в поисковике, задал вопросы на профильных ресурсах (раз, два, на английском 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 в папке WindowsSystem. Файлы .cpl в системную папку Windows автоматически загружаются при запуске панели управления. За пункт Программы отвечает файл Appwiz.cpl. Его анализ ни к чему не привел.

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

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

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

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

WUA

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

Примечание: далее для своего удобства все результаты я буду вставлять в List. Это, возможно, не рационально, но тогда мне это казалось хорошей идеей.

Пример реализации

using WUApiLib;

public static List<string> listUpdateHistory()
{
	//WUApi
	List<string> result = new List<string>(200);

	try
	{
		UpdateSession uSession = new UpdateSession();
		IUpdateSearcher uSearcher = uSession.CreateUpdateSearcher();
		uSearcher.Online = false;
		ISearchResult sResult = uSearcher.Search("IsInstalled=1 And IsHidden=0");

		string sw = "Количество обновлений через WUApi: " + sResult.Updates.Count;
		result.Add(sw);
		foreach (WUApiLib.IUpdate update in sResult.Updates)
		{
			result.Add(update.Title);
		}
	}

	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}
	
	return result;
}

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

Пример реализации

public static List<string> Sessionlist(string pc)
{
	List<string> result = new List<string>(50); //не забудь изменить количество

	object sess = null;
	object search = null;
	object coll = null;

	try
	{
		sess = Activator.CreateInstance(Type.GetTypeFromProgID("Microsoft.Update.Session", pc));
		search = (sess as dynamic).CreateUpdateSearcher();

		int n = (search as dynamic).GetTotalHistoryCount();
		int kol = 0;
		//coll = (search as dynamic).QueryHistory(1, n);
		coll = (search as dynamic).QueryHistory(0, n);

		result.Add("Количество через Update.Session: " + n);
		foreach (dynamic item in coll as dynamic)
		{
			if (item.Operation == 1) result.Add(item.Title);
			kol++;
			//Console.WriteLine("Количество: " + kol);
		}
		result.Add("Количество в цикле: " + kol);
	}
	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}
	finally
	{
		if (sess != null) Marshal.ReleaseComObject(sess);
		if (search != null) Marshal.ReleaseComObject(search);
		if (coll != null) Marshal.ReleaseComObject(coll);
	}

	return result;
}

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

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

DISM

Система обслуживания образов развертывания и управления ими (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-файлов.

Ранее упомянутая команда dism /online /get-packages отображает основную информацию обо всех пакетах в wim образе/текущей системе. Microsoft позаботилась о нас и предоставляет NuGet packages для удобного использования API.

Пример реализации

using Microsoft.Dism;

public static List<string> DISMlist()
{
	List<string> result = new List<string>(220);

	try
	{
		DismApi.Initialize(DismLogLevel.LogErrors);
		var dismsession = DismApi.OpenOnlineSession();
		var listupdate = DismApi.GetPackages(dismsession);

		int ab = listupdate.Count;
		//Console.WriteLine("Количество обновлений через DISM: " + ab);
		string sw = "Количество обновлений через DISM: " + ab;
		result.Add(sw);

		foreach (DismPackage feature in listupdate)
		{
			result.Add(feature.PackageName);
			//result.Add($"[Имя пакета] {feature.PackageName}");
			//result.Add($"[Дата установки] {feature.InstallTime}");
			//result.Add($"[Тип обновления] {feature.ReleaseType}");
		}
	}

	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}

	return result;
}

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

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

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

WSUS

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 необходимо дополнительно установить пакет — система уведомит вас об этом.

А теперь немного кода

//не забудьте добавить ссылку на библиотеку 
using Microsoft.UpdateServices.Administration;

public static List<string> GetWSUSlist(params string[] list)
{
	List<string> result = new List<string>(200); //не забудь изменить количество

	string namehost = list[0]; //имя Пк, на котором будем искать string  = "example1";
	string servername = list[1]; //имя сервера string  = "WIN-E1U41FA6E55"; 
	string Username = list[2];
	string Password = list[3];
	
	try
	{
		
		ComputerTargetScope scope = new ComputerTargetScope();
		IUpdateServer server = AdminProxy.GetUpdateServer(servername, false, 8530);
		ComputerTargetCollection targets = server.GetComputerTargets(scope);
		// Search
		targets = server.SearchComputerTargets(namehost);

		// To get only on server FindTarget method
		IComputerTarget target = FindTarget(targets, namehost);
		result.Add("Имя ПК: " + target.FullDomainName);

		IUpdateSummary summary = target.GetUpdateInstallationSummary();
		UpdateScope _updateScope = new UpdateScope();
		// See in UpdateInstallationStates all other properties criteria

		//_updateScope.IncludedInstallationStates = UpdateInstallationStates.Downloaded;
		UpdateInstallationInfoCollection updatesInfo = target.GetUpdateInstallationInfoPerUpdate(_updateScope);

		int updateCount = updatesInfo.Count;

		result.Add("Кол -во найденных обновлений - " + updateCount);

		foreach (IUpdateInstallationInfo updateInfo in updatesInfo)
		{
			result.Add(updateInfo.GetUpdate().Title);
		}

	}

	catch (Exception ex)
	{
		result.Add("Что-то пошло не так: " + ex.Message);
	}

	return result;
}


public static IComputerTarget FindTarget(ComputerTargetCollection coll, string computername)
{
	foreach (IComputerTarget target in coll)
	{
		if (target.FullDomainName.Contains(computername.ToLower()))
			return target;
	}
	return null;
}

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

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

WMI

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

WMI — реализованный корпорацией Майкрософт стандарт управления предприятием

через Интернет

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

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

Пример реализации

using System.Management;

public static List<string> GetWMIlist(params string[] list)
{
List<string> result = new List<string>(200); //не забудь изменить количество

ManagementScope Scope;

string ComputerName = list[0];
string Username = list[1];
string Password = list[2];

int kol = 0;

if (!ComputerName.Equals("localhost", StringComparison.OrdinalIgnoreCase))
{
	//     Возвращает или задает полномочия, которые используются для проверки подлинности
	//     указанного пользователя.
	ConnectionOptions Conn = new ConnectionOptions();
	Conn.Username = Username;
	Conn.Password = Password;
	//Если значение свойства начинается со строки «NTLMDOMAIN:» аутентификация NTLM будет использоваться, и свойство должно содержать доменное имя NTLM.
	Conn.Authority = "ntlmdomain:DOMAIN";
	Scope = new ManagementScope(String.Format("\\{0}\root\CIMV2", ComputerName), Conn);
}
else
	Scope = new ManagementScope(String.Format("\\{0}\root\CIMV2", ComputerName), null);

try
{
	Scope.Connect();
	ObjectQuery Query = new ObjectQuery("SELECT * FROM Win32_QuickFixEngineering");
	ManagementObjectSearcher Searcher = new ManagementObjectSearcher(Scope, Query);

	foreach (ManagementObject WmiObject in Searcher.Get())
	{
		result.Add(WmiObject["HotFixID"].ToString());
		//Console.WriteLine("{0,-35} {1,-40}", "HotFixID", WmiObject["HotFixID"]);// String
		//result.Add();
		/*result.Add("{0,-17} {1}", "Тип обновления: ", WmiObject["Description"]);
		result.Add("{0,-17} {1}", "Ссылка: ", WmiObject["Caption"]);
		result.Add("{0,-17} {1}", "Дата установки: ", WmiObject["InstalledOn"]);*/
		kol++;
	}
	result.Add("Количество равно " + kol);
}

catch (Exception ex)
{
	result.Add("Что-то пошло не так: " + ex.Message);
}

return result;
}

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

XML

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

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

Пример консольного приложения

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Text.RegularExpressions;
using System.IO;

namespace XMLviewer
{
    class Program
    {
        static void Main(string[] args)
        {
            string writePath = AppDomain.CurrentDomain.BaseDirectory + "XML Обновлений " + Environment.MachineName + ".txt";
            if (!File.Exists(writePath))
            {
                Console.WriteLine("Создаю пустой txt файл");
            }
            else
            {
                Console.WriteLine("Файл XML Обновлений.txt существует, он будет перезаписан");
                File.Delete(writePath);
            }

            //регулярное выражение для поиска по маске KB
            Regex regex = new Regex(@"KB[0-9]{6,7}");
            //Regex(@"(w{2}d{6,7}) ?");

            //SortedSet не поддерживает повторяющиеся элементы, поэтому повторяющиеся элементы мы "группируем" ещё на стадии добавления
            SortedSet<string> spisok = new SortedSet<string>();

            XmlDocument xDoc = new XmlDocument();
            string path = "C:\Windows\servicing\Packages\wuindex.xml"; //путь до нашего xml
            xDoc.Load(path);

            int kol = 0; //кол-во компонентов
            int total = 0; //кол-во дочерних элементов в xml
            int total2 = 0; //кол-во полученных обновлений

            XmlNodeList name = xDoc.GetElementsByTagName("Mappings");
            foreach (XmlNode xnode in name)
            {
                //Console.WriteLine(xnode.Name);
                kol++;
                XmlNode attr = xnode.Attributes.GetNamedItem("UpdateId");
                //Console.WriteLine(attr.Value);

                foreach (XmlNode childnode in xnode.ChildNodes)
                {
                    XmlNode childattr = childnode.Attributes.GetNamedItem("Package");
                    total++;
                    //Console.WriteLine(childattr.Value);

                    MatchCollection matches = regex.Matches(childattr.Value);
                    if (matches.Count > 0)
                    {
                        foreach (Match match in matches)
                            //Console.WriteLine(match.Value);
                            spisok.Add(match.Value);
                    }
                    else
                    {
                        //Console.WriteLine("Совпадений не найдено");
                    }
                }

            }

            try
            {
                StreamWriter sw = new StreamWriter(writePath);
                foreach (string element in spisok)
                {
                    //Console.WriteLine(element);
                    sw.WriteLine(element);
                    total2++;
                }
                sw.Close();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ошибка: " + ex.Message);
            }

            //Console.WriteLine("n");
            Console.WriteLine("Количество пакетов: " +kol);

            Console.WriteLine("Количество дочерних элементов в xml: " + total);

            Console.WriteLine("Количество KB обновлений: " + total2);

            Console.WriteLine("Нажмите любую клавишу для выхода.");
            Console.Read();
        }
    }
}

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

CBS

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

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

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

Таблица tbUpdates в ESEDatabaseView

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

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

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

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

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

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

На момент создания прототипа программы (на скриншотах можете увидеть май 2019) русскоязычной информации о CBS не было, но в конце августа нашлась очень хорошая статья в блоге — http://datadump.ru/component-based-servicing. Очень интересная статья, которая подтвердила мой опыт и собрала в себе нужную информацию. И ещё по теме: http://www.outsidethebox.ms/17988/

Вывод

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

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

В планах дописать:

  1. сравнение списка необходимых обновлений с полученным;
  2. передать результат по протоколу SNMP/OPC (если у кого есть опыт поделитесь в комментариях);
  3. организовать установку недостающих „офлайн“ обновлений из указанной папки.

Если вы знаете ещё методы получения списка не только обновлений, но и дополнительных компонентов (Adobe Flash, Acrobat Reader и т.д.) или у вас есть другие интересные предложения, напишите об этом в комментариях или в личные сообщения — буду рад любой обратной связи. И поучаствуйте в опросе к данной статье — так я буду знать, будет ли интересен мой опыт аудитории Habrahabr.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

Продолжить тему о том, как всем этим управлять через SNMP/OPC?


12.03%
Нет, не интересно
16


17.29%
Бессмысленное занятие, займись лучше другим
23

Проголосовали 133 пользователя.

Воздержались 50 пользователей.

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

И пользуясь случаем ещё один опрос: рассказать про ЕГИССО — что это какое, как мучаются люди и что люди разрабатывают, чтобы с этим работать?


78.23%
Интересно прочитать про ужасы от Пенсионного фонда (Да)
97


21.77%
Спасение утопающих — дело рук самих утопающих (Нет)
27

Проголосовали 124 пользователя.

Воздержались 44 пользователя.

Как узнать какие обновления ОС Windows установлены на вашем ПК или сервере? Конечно, можно открыть «Панель управления->Установка/удаление программ», либо элемент Update History в Windows 7/2008 и просмотреть список установленных обновлений, однако с помощью графического интерфейса нельзя ни выгрузить этот список, ни осуществить поиск по нему. В таком случае, необходимо прибегнуть к помощи командной строки. С помощью следующей команды можно вывести подробный список всех обновлений, которые установлены на данной системе Windows:

wmic qfe list

В результатах выполнения этой команды можно увидеть что установлено, кем и когда, кроме того, выводится ссылка на статью в базе знания Microsoft (KB). Для того, чтобы получить список установленных обновлений в текстовом виде, можно просто перенаправить вывод этой команды в текстовый файл, а затем открыть его в любимом текстовом редакторе:

wmic qfe list > updatelist.txt && updatelist.txt

Текстовый файл с именем updatelist.txt создастся в каталоге C:WindowsSystem32.

Если нужно узнать установлено ли конкретное обновление Windows на данной системе (например, KB2544521), можно воспользоваться командой find, перенаправив вывод в нее:

wmic qfe list | find "KB2544521"

Как вы видите, обновление KB2544521 уже установлено.

Еще один способ просмотра установленных обновлений в Windows – использование утилиты “systeminfo”. Данная команда в отличии от предыдущей выведет лишь список номеров KB (в дополнении к системной информации). В данном случае также можно перенаправить вывод этой команды в текстовый файл:

systeminfo > sysinfo.txt && sysinfo.txt

Однако будьте внимательными, все эти команды отображают лишь установленные обновления и хотфиксы для самой ОС Windows, информации об обновлениях любых других продуктов Microsoft (таких как, UAG, Office, TMG, SQL или Exchange) здесь отсутствует. Для просмотра установленных обновлений на эти продукты, необходимо в меню пуск набрать: “View Installed Updates”, после чего откроется стандартное окно, доступное из панели управления.

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

Также при установке обновлений не стоит забывать, что они требуют перезагрузки системы. В Windows 7 после установки обновлений она перезагружается автоматически, что достаточно неудобно. К счастью, можно отключить автоматическую перезагрузку Windows после установки обновлений.

Для всех операционных систем Windows выпускаются обновления, которые можно установить либо в автоматическом, либо в ручном режиме.  Для новичков лучше, если система будет обновляться сама в автоматическом режиме. Многие из обновлений улучшают безопасность вашего компьютера. Поэтому, если у вас лицензионная операционная система, то не стоит отключать эту опцию.Иногда для того чтобы удалить или установить пакет обновлений, необходимо узнать, какие из них уже  установлены на вашем компьютере. Где и как можно посмотреть список установленных обновлений в Windows 7  и Windows10?

Содержание:

  • Где и как можно просмотреть список установленных обновлений
      • Видео «Как посмотреть список установленных обновлений Windows»

Где и как можно просмотреть список установленных обновлений

Как посмотреть список установленных обновлений в Windows 7 и 10

В каких случаях необходим список установленных обновлений? Чаще всего такая информация необходима при  установке программ и приложений к ним. Тогда  в инструкции по установке пишут, что программа не установится, пока операционная система не будет обновлена до определенного обновления.

В каких случаях необходим список установленных обновлений?

В таком случае нам необходимо убедится в том, что это обновление установлено. Для этого во всех версиях виндовс  жмем на клавиатуре две заветные клавиши Win + R, и набираем в открывшемся окне «Выполнить», команду  appwiz.cpl и жмем на клавиатуре клавишу Enter или кнопку «ОК», в этом же окошке.

Для этого во всех версиях виндовс  жмем на клавиатуре две заветные клавиши Win + R, и набираем в открывшемся окне «Выполнить»

Откроется окно «Программы и компоненты». Слева в списке переходим по ссылке «Просмотр установленных обновлений»

Слева в списке переходим по ссылке «Просмотр установленных обновлений»

Слева в списке переходим по ссылке «Просмотр установленных обновлений»

Откроется окно «Установленные обновления», в котором необходимо найти запись «Microsoft Windows».  В скобках  указано количество обновлений). Всё что находится ниже и есть список установленных обновлений.

Откроется окно «Установленные обновления», в котором необходимо найти запись «Microsoft Windows». 

Откроется окно «Установленные обновления», в котором необходимо найти запись «Microsoft Windows». 

В конце каждого обновления показана  дата его установки.

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

Можно выделить любое из обновлений,  и нажать выше кнопку «Удалить»

Можно выделить любое из обновлений,  и нажать выше кнопку «Удалить»

Или  кликнуть по выделению правой кнопкой мыши и удалить его.

Или  кликнуть по выделению правой кнопкой мыши и удалить его.

Видео «Как посмотреть список установленных обновлений Windows»

Как отключить автоматическое обновление в Windows 7 

Как  удалить  обновления в Windows 7

Как отключить автоматическое обновление в Windows 10

Совет

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

Удалить!

  • Partition Wizard

  • Clone Disk

  • Top 3 Ways to Get a List of Installed Windows 10 Updates

By Ariel | Follow |
Last Updated January 25, 2021

How to get a list of installed Windows 10 updates? MiniTool Solution will discuss the top 3 ways to view installed Windows 10 updates easily. Each method has its own advantages. You can choose whichever that is suitable for your specific needs.

Windows Updatesis a powerful tool in Windows, users can check for updates, change the active hour and other useful features. Here, let’s see how to get a list of installed Windows 10 updates step by step.

Step 1. Input Windows Update in Cortana and select Windows Update Settings.

Input Windows Update in Cortana

Step 2. In the pop-up window, click on View installed update history. Then you can get a list of installed Windows 10 updates.

click on View installed update history

Then you will see all the updates installed in history on your Windows 10, including Feature Updates, Driver Updates, Quality Updates, and Other Updates.

the Windows 10 installed updates history

Tip: You need to go through the list of updates manually because you can’t search for a specific update by using this method.

In addition to this method, there are two simple ways about how to get a list of Windows 10 installed updates.

Using Command-Line Options

The list installed Windows 10 updates command line can be used to export the Windows 10 installed updates. Now, let’s see how to run them.

Option 1. WMIC Command to List Installed Windows Updates

Step 1. Type cmd in the search box to open a command prompt and select as administrator.

open Command Prompt as administrator

Step 2. Type wmic qfe list full command to get all information about each hotfix installed on your computer.

type wmic qfe list full

Then you can scroll up and down to view Windows 10 installed updates.

Or if the full information I not required, you can run wmic qfe list brief command.

 run wmic qfe list brief

Type wmic qfe list full /format: table command to format the output as a table so that it is easy to read and comprehend.

run wmic qfe list full /format: table

Option 2. Run Systeminfo Command

If you only want a list of knowledgebase updates numbers, then you can use the systeminfo command.

Step 1. Open command prompt window.

Step 2. Input systeminfo | find “KB” command and hit Enter button. Then you will see all Windows 10 knowledgebase updates number listed.

run systeminfo | find “KB” command

There is another easier way to export a list of installed Windows updates besides using the command line. Windows Powershell is a powerful tool that can be used to access various services an administrator in Windows.

Now, let see how to use this powerful tool to view Windows 10 installed updates.

Using Windows Powershell

The list installed Windows 10 updates Powershell also enables you to get a list of Windows installed updates. Here is how to do this.

Step 1. Type Windows Powershell in the search box and right-click it to select Run as administrator.

run Windows Powershell as administrator

Step 2. In the pop-up window, type get-hotfix command and hit the Enter button. Then all the hotfix installed files on your computer will be listed here and the installation date of each hotfix will also be shown.

input get hotfix command and hit enter

Top 3 ways to get a list of installed Windows 10 updates are told to you. Now, it’s your turn to have a try.

About The Author

Ariel

Position: Columnist

Ariel has been working as a highly professional computer-relevant technology editor at MiniTool for many years. She has a strong passion for researching all knowledge related to the computer’s disk, partition, and Windows OS. Up till now, she has finished thousands of articles covering a broad range of topics and helped lots of users fix various problems. She focuses on the fields of disk management, OS backup, and PDF editing and provides her readers with insightful and informative content.

Содержание

  1. Как посмотреть установленные обновления Windows 10
  2. Как посмотреть установленные обновления на Windows 10
  3. Как узнать установленные обновления с командной строкой
  4. Как проверить наличие обновлений в Windows 10
  5. Способы проверки наличия обновлений
  6. Параметры системы
  7. Создание ярлыка на рабочем столе
  8. Windows 10 Update Assistant
  9. Принудительная проверка через «Командную строку»
  10. Просмотр списка обновлений
  11. Проблема с бесконечной загрузкой апдейта
  12. Как в Windows 10 посмотреть установленные обновления
  13. Комментарии (2)
  14. Рекламный блок
  15. Подпишитесь на рассылку
  16. Навигация
  17. Облако тегов
  18. Архив статей
  19. Сейчас обсуждаем
  20. Дмитрий
  21. Гость Алексей
  22. Гость Алексей
  23. Виталий Владимирович
  24. Oznor
  25. О проекте RemontCompa.ru
  26. Как в Windows 10 посмотреть установленные обновления
  27. Проверка наличия обновлений в Windows 10
  28. Проверка наличия обновлений
  29. Видео: как проверить наличие обновлений Windows 10
  30. Быстрая проверка обновлений Windows 10 с помощью ярлыка
  31. Дополнительный способ со сторонней программой Windows 10 Update Assistant
  32. Видео: как использовать Windows 10 Update Assistant
  33. Принудительная проверка через терминал «Командной строки»
  34. Просмотр полученных обновлений
  35. Проблема с очень длительным поиском обновлений и другие возможные проблемы
  36. Долгое обновление системы

Как посмотреть установленные обновления Windows 10

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

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

Так как многие уже перешли на глобальное обновление Anniversary Update для «десятки», то и обновлений они получили достаточно много. Посмотреть, какие изменения произошли можно на самом сайте Microsoft: https://support.microsoft.com/ru-ru/help/12387/windows-10-update-history.

posmotret ustanovlennye obnovleniya windows 10

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

1 posmotret ustanovlennye obnovleniya windows 10

Как посмотреть установленные обновления на Windows 10

Зайдите в параметры системы, для этого нажмите сочетание Win+I, а потом перейдите в раздел «Обновление и безопасность».

2 posmotret ustanovlennye obnovleniya windows 10

Перейдите на вкладку «Центр обновления Windows» и нажмите справа на ссылку «Журнал обновлений».

3 posmotret ustanovlennye obnovleniya windows 10

Откроется окно, где показаны все установленные обновления с кодом и время, когда это произошло. Вот так все просто делается.

4 posmotret ustanovlennye obnovleniya windows 10

Как узнать установленные обновления с командной строкой

Еще один способ, который некоторым, может быть, придётся не по вкусу, так как нужно что-то вводить. Откройте командную строку от имени администратора, это можно сделать при нажатии правой кнопкой мыши по меню Пуск. Далее вводим туда команду:

5 posmotret ustanovlennye obnovleniya windows 10

Таким образом, вы узнаете, что за обновления у вас установлены в системе, там указан и код, и время, и другая информация.

Есть еще одна команда, выводящая немного информации по обновлениям, хотя в основном она предназначена для вывода системной информации:

6 posmotret ustanovlennye obnovleniya windows 10

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

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

Источник

Как проверить наличие обновлений в Windows 10

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

Способы проверки наличия обновлений

Проверить обновления Windows 10 можно несколькими способами, каждый из которых подразумевает использование стандартных средств операционной системы.

Важно! Для успешного выполнения задачи требуется стабильное интернет-соединение.

Параметры системы

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

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

Создание ярлыка на рабочем столе

Обновлять систему можно в один клик мышкой, если подготовить специальный ярлык на рабочем столе. Для этого понадобится:

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

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

Windows 10 Update Assistant

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

Программа Update Assistant позволяет связаться с серверами Microsoft напрямую, за счет чего игнорируются внутренние ограничения операционной системы. Это позволяет скачать на компьютер последние версии пакетов данных.

Принудительная проверка через «Командную строку»

«Командная строка» — универсальное решение для выполнения любых действий с операционной системой. Чтобы узнать об обновлении Windows 10, необходимо сначала запустить консоль:

Важно! Выполняемые команды запускают службу в фоновом режиме.

Просмотр списка обновлений

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

Обратите внимание! Проверять можно только установленные обновления.

Проблема с бесконечной загрузкой апдейта

При попытке проверить новые версии данных процесс выполнения может зависнуть и не заканчиваться. Исправить проблему способен сброс кэша данных «Центра обновлений Windows». Для устранения долгой загрузки предлагается использовать специальный скрипт. Нужно:

После запуска рабочего стола ошибка исчезнет и «Центр обновления» перестанет зависать.

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

Источник

Как в Windows 10 посмотреть установленные обновления

Нажмите на кнопку «Показать всё»

1477026103 149

и откроется полный список обновлений с подробнейшим описанием проблем, которые они устраняют в вашей операционной системе. Например обновление KB3194798 направлено на улучшение качества работы операционной системы. Повышена надежность Bluetooth. Устранена проблема, связанная с работой драйверов принтера. Улучшена поддержка сетей и так далее.

Как видите, идёт очень подробное описание работы обновления и конечно многим пользователям интересно знать, установлено ли у них в системе то или иное обновление.

( Щёлкните на скриншоте левой мышью для увеличения )

1477045653 4

Чтобы в Windows 10 посмотреть все установленные обновления, пройдите:

1477040990 1

«Обновления и безопасность»

1477041294 2

Нажмите на кнопку «Журнал обновлений»

1477041253 3

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

1477040976 4

Узнаём установленные обновления Windows 10 с помощью командной строки

Открываем командную строку администратора и вводим команду: wmic qfe list

Так как операционную систему я установил только что, обновлений у меня не так много, всего четыре.

( Щёлкните на скриншоте левой мышью для увеличения )

1477044620 5

Ещё одна команда выведет нам аналогичный результат: systeminfo

1477045087 6

Друзья, если у вас нет обновлений совсем или вашей операционной системой получены не все обновления, то примените «Средство устранения неполадок Центра обновлени Windows 10», как пользоваться данным средством можете узнать из нашей статьи. Также можете применить инструмент «Устранение неполадок Windows 10 ». Вполне возможно вы сами от ключили обновления Windows 10 в параметрах компьютера и забыли об этом, включить их обратно очень просто.

1477330954 116

Полезная статьи на эту тему:

Комментарии (2)

Рекламный блок

Подпишитесь на рассылку

Навигация

Облако тегов

Архив статей

Сейчас обсуждаем

noavatar

Дмитрий

admin, Спасибо, может и придется до НГ проверить.

noavatar

Гость Алексей

Супер статья, спасибо за помощь сам бы не справился!

noavatar

Гость Алексей

noavatar

Виталий Владимирович

Админ, я в непонятках. Ну ладно, библиотеку shell32.dll нельзя редактировать в Resourсe Hacker

noavatar

Oznor

О проекте RemontCompa.ru

RemontCompa — сайт с огромнейшей базой материалов по работе с компьютером и операционной системой Windows. Наш проект создан в 2010 году, мы стояли у истоков современной истории Windows. У нас на сайте вы найдёте материалы по работе с Windows начиная с XP. Мы держим руку на пульсе событий в эволюции Windows, рассказываем о всех важных моментах в жизни операционной системы. Мы стабильно выпускаем мануалы по работе с Windows, делимся советами и секретами. Также у нас содержится множество материалов по аппаратной части работы с компьютером. И мы регулярно публикуем материалы о комплектации ПК, чтобы каждый смог сам собрать свой идеальный компьютер.

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

Источник

Как в Windows 10 посмотреть установленные обновления

Написал admin. Опубликовано в рубрике Операционные системы

windows updateОбновления в Windows 10 скачиваются и устанавливаются с завидной регулярностью. Иногда это случается в очень неподходящий момент – происходит стопроцентная загрузка жесткого диска, и работать на компьютере становится невозможно, до тех пор, пока все обновления не установятся. Ранее мы с вами разбирались, как отключать автоматические обновления в Windows.

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

В Windows 10 посмотреть установленные обновления можно несколькими способами.

Способ 1. Нажимаем кнопку Пуск/Параметры.

В открывшемся окне нажимаем Обновление и безопасность.

На вкладке Центр обновления Windows, нам необходимо нажать кнопку Просмотр журнала обновлений.

На экране отобразятся все установленные ранее обновления.

Способ 2. Открываем командную строку. Для этого нажимаем Пуск и пишем на клавиатуре cmd. В окне поиска отобразится командная строка, щелкаем по ярлыку левой кнопкой мыши.

В открывшейся командной строке пишем команду wmic qfe list. Отобразится весь список обновлений.

Подписывайся на канал MyFirstComp на YouTube!

Источник

Проверка наличия обновлений в Windows 10

kak proverit nalichie obnovleniy windows 10 3

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

Проверка наличия обновлений

Самый простой способ проверки наличия неустановленных обновлений — это обращение к «Центру обновлений» (ЦО).

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

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

Видео: как проверить наличие обновлений Windows 10

Быстрая проверка обновлений Windows 10 с помощью ярлыка

Существует способ, который позволяет осуществить «быструю» проверку обновлений. Нет необходимости рыться в «Параметрах» и настройках, достаточно просто открыть один ярлык, после чего запустится цепочка, активирующая поиск апдейтов.

После создания ярлыка двойной щелчок по нему будет открывать ЦО и запускать процедуру проверки наличия обновлений.

Дополнительный способ со сторонней программой Windows 10 Update Assistant

Утилита Windows 10 Update Assistant создана программистами Microsoft и является дополнительным инструментом для обновления операционной системы. Однако «Помощник» имеет одно отличие, относительно ЦО: при использовании ассистента не только обновляется базы данных безопасности и библиотеки, но ещё и сама операционная система становится более новой версии.

Видео: как использовать Windows 10 Update Assistant

Принудительная проверка через терминал «Командной строки»

Через терминал «Командной строки» на компьютере можно сделать практически всё. Проверка обновлений не является исключением.

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

Просмотр полученных обновлений

Чтобы узнать, какие попытки обновления завершились успехом, а какие нет, нужно посмотреть «Журнал обновлений». Дополнительные сведения по тому или иному апдейту также можно узнать в протокольной службе.

В открывшемся списке щёлкаем по ссылке «Успешно установлено», чтобы вызвать всплывающее окошко подсказки. В нём нажимаем на «Дополнительные сведения», для получения справки по обновлению на сайте Microsoft.

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

Как и большинство компонентов Windows, ЦО может быть подвержен влиянию ошибок. Это может быть как простые — бесконечные обновления, так и более сложные — повреждённые файлы службы вирусами или ошибками дисков.

Если возникает любая ошибка в любой службе, когда что-либо в операционной системе работает некорректно, сразу же необходимо провести диагностику ОС на наличие вирусов. Используем для этого не меньше двух разных антивирусных программ, чтобы увеличить диапазон и качество поиска. После проверки необходимо запустить средство по сканированию и восстановлению системных файлов.

Долгое обновление системы

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

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

Источник

Понравилась статья? Поделить с друзьями:
  • Найти компромисс или прийти к компромиссу как
  • Как найти воришку боба
  • Как найти своего ангела фильм
  • Как найти составное число или нет
  • Как найти описание розы