如何使用命令查看当前 Windows 系统缺失哪些安全补丁?

文章导读
根据 2023 IT 运维白皮书统计,76% 的 IT 人员每月至少花费 2 小时在补丁搜索上,而使用正确的命令工具可将缺失补丁识别时间从数小时缩短至 10 分钟内。
📋 目录
  1. 原因分析
  2. 解决方案
  3. 注意事项
  4. 参考来源
A A

根据 2023 IT 运维白皮书统计,76% 的 IT 人员每月至少花费 2 小时在补丁搜索上,而使用正确的命令工具可将缺失补丁识别时间从数小时缩短至 10 分钟内。

原因分析

Windows 系统缺失安全补丁的识别困难主要源于三个方面:首先,微软官方已停止对 Windows Server 2008 R2 和 Windows Server 2012 R2 的补丁更新推送,即使开启自动更新也无法获取最新补丁;其次,补丁存在依赖关系,安装某个补丁可能需要前置补丁,如 KB3149090 就有明确的前置补丁要求;第三,系统自带更新历史记录显示不完全,部分 servicing stack 补丁(如 10.0.19041.2905)无法直接识别补丁编号。

解决方案

方法一:使用 systeminfo 命令提取已安装补丁

1. 按住 Win 键,输入 cmd 打开命令提示符窗口(需以管理员身份运行)

2. 输入命令systeminfo并回车,等待加载完成后查看"修补程序"部分

3. 将输出重定向到文件便于分析:systeminfo > systeminfo.txt

4. 补丁识别规则:通常以字母 K 开头的序列号即为补丁名称(如 KB5026361)

方法二:使用 WES-NG 工具自动分析缺失补丁

1. 下载 WES-NG 的 wes.py 脚本(支持 Python 2/3)

2. 首先使用--update参数下载最新定义文件:python wes.py -u,该参数会将最新的 definition.zip 文件下载到当前目录

如何使用命令查看当前 Windows 系统缺失哪些安全补丁?

3. 使用 systeminfo.txt 文件执行分析:python wes.py systeminfo.txt

4. 可选过滤参数:--impact"远程代码执行"(简写:-i)仅显示远程代码执行漏洞;--exploits-only(简写:-e)仅显示有可用漏洞利用代码的漏洞;--output(简写:-o)将结果以 CSV 格式存储到磁盘

方法三:通过微软官方补丁库验证

1. 访问 Microsoft Update Catalog:https://catalog.update.microsoft.com/Home.aspx

2. 在搜索框输入 KB 编号(注意不要带空格,如 KB5026361 不是 5026361)

3. 筛选关键信息:系统版本(如 Win10 21H2)、架构(x86/x64/ARM64)、语言(中文版补丁通常带-zh-cn 后缀)

4. 查看 Package Details 获取补丁的替换信息和依赖的前置补丁信息

注意事项

1. WES-NG 误报问题:即使在完全打补丁的系统上,WES-NG 可能仍会显示一些 KB 缺失,这是因为 WES-NG 用来编译其定义的 MSRC 提要经常包含有关 KB 替换的不完整信息

2. 功能角色误判:如果检查没有安装任何角色和功能的普通 Windows 服务器,WES-NG 可能会报告操作系统上没有安装 KB 的 IIS 漏洞,因为它假设所有功能都已安装

如何使用命令查看当前 Windows 系统缺失哪些安全补丁?

3. 安装报错处理:安装补丁时可能遇到错误码 0x800b0109,提示"必须更新 windows 模块安装程序才能安装此软件包",此时需先安装前置补丁

4. 手动安装命令:下载的.msu 文件可双击运行,或用命令行:wusa windows10.0-kb5026361-x64.msu /quiet /norestart

5. 查看缺陷:控制面板显示的更新有些有补丁编号(如 kb50*******),但有些显示内部版本号无法直接识别,建议优先使用 systeminfo 命令查询

参考来源

来源:2023 IT 运维白皮书 - 补丁搜索时间与下载行为统计数据

来源:Microsoft Update Catalog - 官方补丁库使用指南(2025 年 7 月 23 日)

来源:GitHub WES-NG 项目 - 自动化分析 Windows 系统缺失补丁工具文档(2022 年 3 月 6 日)

来源:微软官方安全更新指南 - 补丁依赖与替换信息查询(2023 年 11 月 24 日)