确定 Windows 更新分类

Posted

技术标签:

【中文标题】确定 Windows 更新分类【英文标题】:Determine Windows Update classification 【发布时间】:2018-07-01 03:10:12 【问题描述】:

从 Windows 更新 COM 库 (WUAPILib) 我可以访问 IUpdate 接口,但是我看不到任何方法可用于获取更新分类(关键、重要、可选)以将更新分组就像控制面板中的 Windows 更新 UI 一样。

【问题讨论】:

【参考方案1】:

借助 IUpdate,您可以从 Update ID 中获取 IcategoryCollection。

现在,第一个 ICategory 存储操作系统的更新类型分类。请特别注意放置注释的行:

Console.WriteLine("Patch name = " + ic.Name.ToString());
// In the ICategory collection, first element ICategory stores information of "Update Classification"; 
// whereas second Icategory element stores the product type information.

测试代码:

UpdateSession uSession = new UpdateSession();
IUpdateSearcher uSearcher = uSession.CreateUpdateSearcher();
uSearcher.Online = false;
ISearchResult sResult = uSearcher.Search("IsInstalled=1 And IsHidden=0");
Console.WriteLine("Found " + sResult.Updates.Count + " updates" + Environment.NewLine);
   foreach (IUpdate update in sResult.Updates)
   
          Console.WriteLine();
          Console.WriteLine("Required update " + update.KBArticleIDs[0].ToString() + " is installed...");
          Console.WriteLine("Update ID = "+update.Identity.UpdateID);
          ICategoryCollection icc = update.Categories;
          foreach (ICategory ic in icc)
          
            Console.WriteLine("Patch description = " + ic.Description.ToString());
            Console.WriteLine("Patch category = " + ic.CategoryID.ToString());
            Console.WriteLine("Patch Type = " + ic.Type.ToString());
            Console.WriteLine("Patch name = " + ic.Name.ToString()); 
// only first ICategory element stores the patch name,
// which reveals the Classification information
          
   

样本输出:

【讨论】:

感谢您的回复,我觉得您的回复很有帮助。我也确实看过这个,但是微软如何认为更新在他们的 GUI 中是“重要的”?虽然我绝对可以像这样对它们进行分组,但分组将不同于 Windows 更新 GUI 中的分组。 @Paul - 请参考:blogs.technet.microsoft.com/dubaisec/2016/01/28/… ;要点: 1. 关键更新是修复关键非安全相关错误的更新。 2. 关键安全更新是修复关键安全漏洞的更新。 3. 重要更新是 Windows 更新显示的类别,包括所有安全更新,无论 MCRS 严重性等级如何,以及其他更新类别,如关键更新、定义更新等。 4. 重要安全更新是修复重要安全漏洞的更新。 @Paul - 继续... 重要 - 包括所有安全更新,无论 MCRS 严重性如何,关键更新、定义更新、更新汇总和服务包可选/推荐 - 包括功能包和标准更新。>您可以在代码中使用此逻辑根据类别过滤掉更新。希望对您有所帮助。 谢谢,您链接的文章回答了我的问题。

以上是关于确定 Windows 更新分类的主要内容,如果未能解决你的问题,请参考以下文章

彻底关闭Windows更新

怎么关闭windows server 2016自动更新

win10有啥方法可以自定义windows更新吗

电脑系统总是自动更新怎么办

windows下maven更新/安装

如何从 VB 6 应用程序确定 Windows 版本?