Для всех операционных систем Windows выпускаются обновления, которые можно установить либо в автоматическом, либо в ручном режиме. Для новичков лучше, если система будет обновляться сама в автоматическом режиме. Многие из обновлений улучшают безопасность вашего компьютера. Поэтому, если у вас лицензионная операционная система, то не стоит отключать эту опцию.Иногда для того чтобы удалить или установить пакет обновлений, необходимо узнать, какие из них уже установлены на вашем компьютере. Где и как можно посмотреть список установленных обновлений в Windows 7 и Windows10?
Содержание:
- Где и как можно просмотреть список установленных обновлений
-
- Видео «Как посмотреть список установленных обновлений Windows»
-
Где и как можно просмотреть список установленных обновлений
В каких случаях необходим список установленных обновлений? Чаще всего такая информация необходима при установке программ и приложений к ним. Тогда в инструкции по установке пишут, что программа не установится, пока операционная система не будет обновлена до определенного обновления.
В таком случае нам необходимо убедится в том, что это обновление установлено. Для этого во всех версиях виндовс жмем на клавиатуре две заветные клавиши Win + R, и набираем в открывшемся окне «Выполнить», команду appwiz.cpl и жмем на клавиатуре клавишу Enter или кнопку «ОК», в этом же окошке.
Откроется окно «Программы и компоненты». Слева в списке переходим по ссылке «Просмотр установленных обновлений»
Откроется окно «Установленные обновления», в котором необходимо найти запись «Microsoft Windows». В скобках указано количество обновлений). Всё что находится ниже и есть список установленных обновлений.
В конце каждого обновления показана дата его установки.
Здесь же показываются и другие обновления от компании Майкрософт. Не путайте их с обновлениями операционной системы Windows.
Можно выделить любое из обновлений, и нажать выше кнопку «Удалить»
Или кликнуть по выделению правой кнопкой мыши и удалить его.
Видео «Как посмотреть список установленных обновлений Windows»
Как отключить автоматическое обновление в Windows 7
Как удалить обновления в Windows 7
Как отключить автоматическое обновление в Windows 10
Совет
Не удаляйте обновления, если в этом нет необходимости, иначе вы рискуете оказаться с не защищенной системой, т.к. многие обновления устанавливают пакеты безопасности.
Удалить!
Как узнать какие обновления ОС 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? А через какое 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, содержимое которой трудно интерпретировать.
После мое внимание привлек процесс 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 слишком усложнила тривиальную задачу по получению списка обновлений и сделала этот процесс не совсем явным. Всё это сделано для безопасности, но не для простоты использования. Соглашусь с автором статьи — в получении обновлений стали отсутствовать предсказуемость и прозрачность.
В результате исследования была написана следующая программа, демонстрацию работы которой можно увидеть в данном видео:
В планах дописать:
- сравнение списка необходимых обновлений с полученным;
- передать результат по протоколу SNMP/OPC (если у кого есть опыт поделитесь в комментариях);
- организовать установку недостающих „офлайн“ обновлений из указанной папки.
Если вы знаете ещё методы получения списка не только обновлений, но и дополнительных компонентов (Adobe Flash, Acrobat Reader и т.д.) или у вас есть другие интересные предложения, напишите об этом в комментариях или в личные сообщения — буду рад любой обратной связи. И поучаствуйте в опросе к данной статье — так я буду знать, будет ли интересен мой опыт аудитории Habrahabr.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Продолжить тему о том, как всем этим управлять через SNMP/OPC?
12.12%
Нет, не интересно
16
17.42%
Бессмысленное занятие, займись лучше другим
23
Проголосовали 132 пользователя.
Воздержались 50 пользователей.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
И пользуясь случаем ещё один опрос: рассказать про ЕГИССО — что это какое, как мучаются люди и что люди разрабатывают, чтобы с этим работать?
78.23%
Интересно прочитать про ужасы от Пенсионного фонда (Да)
97
21.77%
Спасение утопающих — дело рук самих утопающих (Нет)
27
Проголосовали 124 пользователя.
Воздержались 44 пользователя.
Содержание
- Просмотр обновлений Виндовс
- Вариант 1: Списки обновлений
- Вариант 2: Логи обновлений
- Заключение
- Вопросы и ответы
Операционная система Windows регулярно выполняет проверку, загрузку и установку апдейтов для своих компонентов и приложений. В этой статье мы разберемся, каким образом можно получить данные о процедуре обновления и установленных пакетах.
Просмотр обновлений Виндовс
Существуют различия между списками установленных апдейтов и непосредственно журналом. В первом случае мы получаем информацию о пакетах и их назначении (с возможностью удаления), а во втором — непосредственно лог, отображающий выполненные операции и их статус. Рассмотрим оба варианта.
Вариант 1: Списки обновлений
Существует несколько способов получить перечень установленных на ПК обновлений. Самым простым из них является классическая «Панель управления».
- Открываем системный поиск, нажав на значок с изображением лупы на «Панели задач». В поле начинаем вводить «Панель управления» и кликаем по появившемуся пункту в выдаче.
- Включаем режим просмотра «Мелкие значки» и переходим к апплету «Программы и компоненты».
- Далее идем в раздел установленных обновлений.
- В очередном окне мы увидим список всех пакетов, имеющихся в системе. Здесь указаны названия с кодами, версии, если таковые имеются, целевые приложения и даты инсталляции. Удалить апдейт можно, нажав по нему ПКМ и выбрав соответствующий (единственный) пункт в меню.
Читайте также: Как удалить обновления в Windows 10
Следующим инструментом является «Командная строка», запущенная от имени администратора.
Подробнее: Как запустить командную строку в Виндовс 10
Первая команда выводит список обновлений с указанием их назначения (обычное или для обеспечения безопасности), идентификатора (KBXXXXXXX), пользователя, от чьего имени производилась установка, а также даты.
wmic qfe list brief /format:table
Если не использовать параметры «brief» и «/format:table», то кроме прочего, можно увидеть адрес страницы с описанием пакета на сайте Майкрософт.
Еще одна команда, позволяющая получить некоторую информацию об апдейтах
systeminfo
Искомое находится в разделе «Исправления».
Вариант 2: Логи обновлений
Логи отличаются от списков тем, что в них также содержатся данные обо всех попытках выполнить апдейт и их успешности. В сжатом виде такая информация хранится непосредственно в журнале обновлений Windows 10.
- Жмем сочетание клавиш Windows+I, открыв «Параметры», а затем переходим в раздел обновления и безопасности.
- Жмем на ссылку, ведущую к журналу.
- Здесь мы увидим все уже установленные пакеты, а также неудачные попытки выполнения операции.
Более подробную информацию можно получить с помощью «PowerShell». Данный прием в основном используется для «отлова» ошибок при обновлении.
- Запускаем «PowerShell» от имени администратора. Для этого жмем ПКМ по кнопке «Пуск» и выбираем нужный пункт в контекстном меню или, при условии отсутствия такового, пользуемся поиском.
- В открывшемся окне выполняем команду
Get-WindowsUpdateLog
Она конвертирует файлы журнала в удобочитаемый текстовый формат, создав на рабочем столе файл с названием «WindowsUpdate.log», который можно открыть в обычном блокноте.
«Простому смертному» прочитать данный файл будет весьма тяжело, но сайте Майкрософт есть статья, дающая некоторое представление о том, что содержат строки документа.
Перейти на сайт Microsoft
Применительно к домашнему ПК эту информацию можно использовать для выявления ошибок на всех стадиях операции.
Заключение
Как видите, просмотреть журнал обновлений Windows 10 можно несколькими способами. Система дает нам достаточно инструментов для получения сведений. Классическую «Панель управления» и раздел в «Параметрах» удобно использовать на домашнем компьютере, а «Командную строку» и «PowerShell» можно применять для администрирования машин в локальной сети.
Еще статьи по данной теме:
Помогла ли Вам статья?
-
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.
Step 2. In the pop-up window, click on View installed update history. Then you can get a list of installed Windows 10 updates.
Then you will see all the updates installed in history on your Windows 10, including Feature Updates, Driver Updates, Quality Updates, and Other Updates.
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.
Step 2. Type wmic qfe list full command to get all information about each hotfix installed on your computer.
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.
Type wmic qfe list full /format: table command to format the output as a table so that it is easy to read and comprehend.
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.
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.
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.
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
Position: Columnist
Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues.
-
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.
Step 2. In the pop-up window, click on View installed update history. Then you can get a list of installed Windows 10 updates.
Then you will see all the updates installed in history on your Windows 10, including Feature Updates, Driver Updates, Quality Updates, and Other Updates.
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.
Step 2. Type wmic qfe list full command to get all information about each hotfix installed on your computer.
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.
Type wmic qfe list full /format: table command to format the output as a table so that it is easy to read and comprehend.
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.
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.
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.
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
Position: Columnist
Ariel is an enthusiastic IT columnist focusing on partition management, data recovery, and Windows issues. She has helped users fix various problems like PS4 corrupted disk, unexpected store exception error, the green screen of death error, etc. If you are searching for methods to optimize your storage device and restore lost data from different storage devices, then Ariel can provide reliable solutions for these issues.
Сегодня хочу рассказать о том, как посмотреть установленные обновления в Windows 10. Дело в том, что после обновления системы в ранних версиях Windows мы могли зайти в Центр обновлений и посмотреть в журнале обновлений какие же установились. Некоторые пользователи жалуются, что не могут найти этот Центр обновлений в Windows 10 и думаю, что его там нет.
Дорогие друзья, на самом деле Центр обновлений из Windows 10 никуда не пропал, его просто нужно поискать. В данной статье я покажу, где он находится и как посмотреть установленные обновления. А делать все это будем несколькими способами.
Это интересно: Ошибка 80070003 и 80070002 при обновлении windows. Как исправить?
Так как многие уже перешли на глобальное обновление Anniversary Update для «десятки», то и обновлений они получили достаточно много. Посмотреть, какие изменения произошли можно на самом сайте Microsoft: https://support.microsoft.com/ru-ru/help/12387/windows-10-update-history.
Там будет вкладка «Показать все» и раскроется список всех обновлений, с описанием изменений и исправлений ошибок. По коду обновления вы можете узнать, какие установлены у вас, и нужны ли они вам.
Зайдите в параметры системы, для этого нажмите сочетание Win+I, а потом перейдите в раздел «Обновление и безопасность».
Перейдите на вкладку «Центр обновления Windows» и нажмите справа на ссылку «Журнал обновлений».
Откроется окно, где показаны все установленные обновления с кодом и время, когда это произошло. Вот так все просто делается.
Как узнать установленные обновления с командной строкой
Это интересно: Как отключить обновление Windows 10 в Windows 7 и 8.1
Еще один способ, который некоторым, может быть, придётся не по вкусу, так как нужно что-то вводить. Откройте командную строку от имени администратора, это можно сделать при нажатии правой кнопкой мыши по меню Пуск. Далее вводим туда команду:
wmic qfe list
Таким образом, вы узнаете, что за обновления у вас установлены в системе, там указан и код, и время, и другая информация.
Есть еще одна команда, выводящая немного информации по обновлениям, хотя в основном она предназначена для вывода системной информации:
systeminfo
Если вы не обнаружили ни одного обновления, то рекомендую их установить, особенно, если у вас система жутко тормозит, так как многие обновления как раз ориентированы на исправление таких проблем, а также на добавление новых функций.
Это интересно: Обновления для Windows 10 не устанавливаются. Что делать?
Если Центр обновлений отказывается искать обновления, возможно у вас он вообще отключен, тогда вам нужно зайти в службы и включить его. В поиске Windows вводим фразу «службы» и ищем среди большого списка «Центр обновления Windows», если он выключен, то включаем.
( 8 оценок, среднее 4 из 5 )
Здравствуйте админ! Как в Windows 10 посмотреть установленные обновления?
Два месяца назад я обновил на своём ноутбуке Windows 10 до финального выпуска «Anniversary Update build 1607» и с тех пор не замечал, чтобы моя операционная система обновлялась, хотя по вашим словам с тех пор уже вышло около двадцати важных обновлений!
На Windows 7, 8.1 делалось всё просто, можно было зайти в «Панель управления», затем в «Центр обновления Windows» и открыть «Журнал обновлений» и посмотреть установленные обновления, но в Windows 10 всё по другому и в «Панели управления» нет «Центра обновлений Windows».
Как в Windows 10 посмотреть установленные обновления
Привет друзья! «Центр обновления Windows 10» существует, только добираться до него нужно немного по другому. В сегодняшней статье мы узнаем, как посмотреть установленные обновления в нашей Windows 10 тремя очень простыми способами: с помощью параметров ОС и командной строки. Выберите сами, какой способ вам удобней.
С выхода финального выпуска Anniversary Update Windows 10 build 1607 вышло уже достаточно важных обновлений, посмотреть их можно на официальном сайте Майкрософт по ссылке
https://support.microsoft.com/ru-ru/help/12387/windows-10-update-history
Нажмите на кнопку «Показать всё»
и откроется полный список обновлений с подробнейшим описанием проблем, которые они устраняют в вашей операционной системе. Например обновление KB3194798 направлено на улучшение качества работы операционной системы. Повышена надежность Bluetooth. Устранена проблема, связанная с работой драйверов принтера. Улучшена поддержка сетей и так далее.
Как видите, идёт очень подробное описание работы обновления и конечно многим пользователям интересно знать, установлено ли у них в системе то или иное обновление.
(Щёлкните на скриншоте левой мышью для увеличения)
Чтобы в Windows 10 посмотреть все установленные обновления, пройдите:
«Пуск»—>«Параметры»
Microsoft выпускает различные обновления для своих устройств с Windows 10, чтобы поддерживать эти системы в актуальном состоянии. Windows продолжает выпускать два основных обновления в год и регулярно обслуживает эти обновления ежемесячными обновлениями качества. Но что, если вы хотите просмотреть историю обновлений на своем компьютере с Windows? Есть много способов просмотреть историю обновлений вашей системы.
Есть много способов проверить историю обновлений на вашем компьютере.
Процесс 1 — Использование настроек
Лучший способ проверить историю обновлений Windows — использовать «Настройки».
1. Сначала нажмите клавиши Windows+I вместе.
2. Когда откроется окно настроек, нажмите «Центр обновления Windows» на левой панели.
3. С правой стороны нажмите «История обновлений».
4. Здесь вы увидите все установленные обновления на вашем компьютере.
- Обновления качества
- Обновления драйверов
- Обновления определений
- Другие обновления
5. Затем разверните любой конкретный раздел обновления, который вы хотите проверить.
Это откроет список установленных обновлений в этом разделе.
Процесс 2 — использование панели управления
В другом месте вы можете найти список установленных обновлений с дополнительной возможностью их удаления.
1. Сначала нажмите клавиши Windows+R вместе, чтобы открыть окно «Выполнить».
2. Когда откроется окно «Выполнить», введите эту команду и нажмите Enter.
appwiz.cpl
Откроется окно «Программы и компоненты».
3. Теперь на левой панели нажмите «Просмотр установленных обновлений».
Теперь вы увидите список установленных обновлений с разделами «Качественные обновления», «Обновления драйверов», «Обновления определений» и «Другие обновления».
Вы даже можете удалить любое из установленных обновлений с того же экрана. Для этого выполните следующие действия:
а. Щелкните правой кнопкой мыши обновление, которое вы хотите удалить, и нажмите «Удалить», чтобы удалить обновление.
Теперь Windows откатит указанное обновление с вашего компьютера.
Процесс 3 — Использование командлета или ярлыка «Выполнить»
Существует простая команда «Выполнить», которую вы можете использовать, чтобы открыть историю обновлений Windows на странице настроек.
1. Нажмите одновременно клавиши Windows+R.
2. Затем скопируйте и вставьте эту команду и нажмите «ОК».
ms-settings:windowsupdate-history
Это откроет историю обновлений в окне настроек.
Процесс 4 – Использование терминала CMD
Вы можете использовать терминал CMD для анализа установленных обновлений на вашем компьютере. Это очень полезно, если вы не можете получить доступ к терминалу CMD.
1. Сначала нажмите «cmd» в поле поиска.
2. Затем щелкните правой кнопкой мыши «Командная строка» и нажмите «Запуск от имени администратора», чтобы получить доступ к командной строке.
3. Когда откроется командная строка, введите эту команду и нажмите Enter.
wmic qfe list brief
Это позволит вам увидеть краткую информацию (например, «Номер базы знаний», «Дата установки», «Кем установлено» и «Имя»).
4. Если вы хотите увидеть список установленных обновлений, выполните эту команду.
wmic qfe list full
5. Теперь, если вы предпочитаете список обновлений в табличном формате, вставьте эту команду в терминал и нажмите Enter.
wmic qfe list full /format:table
6. Если вы хотите экспортировать список обновлений в формате HTML, вы также можете сделать это с помощью этой команды –
wmic qfe list full /format:table > C:WindowsUpdatesReport.html
После этого закройте терминал командной строки. Вы можете получить доступ к Отчет об обновлениях Windows в формате HTML на диск C:.
Процесс 5 — Использование Windows PowerShell
Вы можете использовать Windows PowerShell для просмотра списка установленных обновлений в системе.
1. Сначала щелкните правой кнопкой мыши клавишу Windows и выберите «Выполнить».
2. Затем введите «powershell» и одновременно нажмите клавиши Ctrl+Shift+Enter.
2. Когда откроется Windows PowerShell, введите эту команду и нажмите Enter.
Get-Hotfix
Это покажет вам идентификаторы исправлений на вашем терминале PowerShell.
Когда закончите, закройте PowerShell.
Процесс 6 — Найти номер «KB»
Есть еще один трюк, который вы можете использовать, чтобы найти номер базы знаний или номер базы знаний.
1. Сначала щелкните правой кнопкой мыши клавишу Windows и нажмите «Выполнить».
2. Когда откроется окно «Выполнить», введите эту команду и нажмите «ОК».
systeminfo | find "KB"
Это откроет список установленных обновлений Windows в Windows PowerShell.
Написал admin. Опубликовано в рубрике Операционные системы
Обновления в Windows 10 скачиваются и устанавливаются с завидной регулярностью. Иногда это случается в очень неподходящий момент — происходит стопроцентная загрузка жесткого диска, и работать на компьютере становится невозможно, до тех пор, пока все обновления не установятся. Ранее мы с вами разбирались, как отключать автоматические обновления в Windows.
Однако, совсем пренебрегать обновлениями не стоит. Они защищают ваш компьютер от возможных вирусов и хакерских атак, а также могут увеличить быстродействие ПК.
В Windows 10 посмотреть установленные обновления можно несколькими способами.
Способ 1. Нажимаем кнопку Пуск/Параметры.
В открывшемся окне нажимаем Обновление и безопасность.
На вкладке Центр обновления Windows, нам необходимо нажать кнопку Просмотр журнала обновлений.
На экране отобразятся все установленные ранее обновления.
Способ 2. Открываем командную строку. Для этого нажимаем Пуск и пишем на клавиатуре cmd. В окне поиска отобразится командная строка, щелкаем по ярлыку левой кнопкой мыши.
В открывшейся командной строке пишем команду wmic qfe list. Отобразится весь список обновлений.
Подписывайся на канал MyFirstComp на YouTube!
Загрузка…
Теги: windows 10, командная строка, компьютер, обновления
Трекбэк с Вашего сайта.