wusa.exe 路径:C:\Windows\System32\wusa.exe,Vista 及以后系统原生自带,专门用于离线安装 / 卸载 .msu 格式独立更新包(微软单独分发的补丁、累积更新、功能更新包); 本身不直接执行文件替换和系统组件更新,仅作为 MSU 包解析器、参数调度外壳,最终把更新任务交付给 Windows Update / CBS(组件基础服务)处理
WUSA 英文全称
拆分释义
- W = Windows
- U = Update
- S = Standalone(独立、离线单机)
- A = Installer(安装程序)
补充说明
- 程序文件名:
wusa.exe,存放在C:\Windows\System32\wusa.exe - 作用:专门处理
.msu格式离线系统更新包,支持命令行静默安装 / 卸载补丁 - 微软官方文档统一使用该全称,是 Windows Vista 及之后系统自带工具。
MSU 英文全称
拆分释义
- M = Microsoft(微软)
- S = Standalone(独立 / 离线,无需在线 Windows Update 服务)
- U = Update(系统更新补丁)
补充关键配套信息
- 文件载体关系
.msu是专用封装包,只能通过wusa.exe解析安装;内部嵌套标准 CAB 压缩包、元数据 XML、数字签名文件。 - 命名逻辑对应
- wusa.exe:Windows Update Standalone Installer(安装器)
- .msu:Microsoft Update Standalone Package(补丁包)
两者命名里的
Standalone统一对应「离线独立」特性。
- 历史背景
自 Windows Vista 时代随 CBS 组件化更新架构一同推出,替代 XP 时期零散 CAB 补丁,统一离线分发格式。
- 区分易混淆缩写
- MSU:Microsoft Update Standalone Package(离线补丁包)
- MSUU:无此标准缩写;WU = Windows Update(在线更新服务)
- CAB:Cabinet File,MSU 内部承载补丁文件的底层压缩格式。


wusa.exe(Windows Update Standalone Installer,Windows 更新独立安装程序)完整解构文档
基础定义
wusa.exe路径:C:\Windows\System32\wusa.exe,Vista 及以后系统原生自带,专门用于离线安装 / 卸载 .msu 格式独立更新包(微软单独分发的补丁、累积更新、功能更新包); 它本身不直接执行文件替换和系统组件更新,仅作为 MSU 包解析器、参数调度外壳,最终把更新任务交付给 Windows Update / CBS(组件基础服务)处理;截图内是 wusa 原生命令行参数体系。
一、底层原理
- 核心定位 MSU 本质是CAB 压缩包 + 更新元数据 xml,里面封装实际的更新文件、清单、依赖声明; wusa 的职责: ① 解析命令行参数(/quiet/uninstall /kb/norestart 等) ② 解压 MSU 内的 cab 包、读取更新元信息 ③ 校验系统版本、当前已安装补丁依赖 ④ 将更新任务提交给 CBS(Component Based Servicing) 执行真正的系统组件更新 ⑤ 管控重启策略、日志输出
⚠️ 重点区分:wusa ≠ CBS,wusa 只是调度入口;真正的系统文件替换、组件注册、回滚事务由
TrustedInstaller服务(TiWorker.exe)完成。
- 三大核心工作模式(对应截图语法)
模式1:wusa <msu完整路径> [静默/重启参数] → 离线安装MSU更新包
模式2:wusa /uninstall <msu完整路径> [参数] → 通过原始MSU卸载补丁
模式3:wusa /uninstall /kb:<KB编号> [参数] → 直接根据KB号卸载已安装补丁(不需要原始msu文件)
- 重启参数的底层优先级逻辑
/norestart>/warnrestart>/promptrestart>/forcerestart
/norestart:就算补丁明确要求重启,也不触发重启,待后续手动 / 其他任务重启生效/warnrestart:<seconds>:倒计时弹窗提醒重启/promptrestart:弹出确认框,用户手动选择是否重启/forcerestart:强制关闭所有应用,直接重启(丢失未保存数据风险)
所有重启控制仅管控 wusa 发起的重启;部分底层驱动 / 内核补丁会绕过该逻辑强制要求重启。
完整执行数据流
wusa.exe 接收命令行 + MSU/KB参数
↓
wusa校验参数合法性,读取msu(如果提供),解压内部CAB和更新清单
↓
调用CBS API,向TrustedInstaller提交更新/卸载事务
↓
TiWorker.exe(TrustedInstaller)执行:文件替换、注册表更新、组件版本校验、依赖检查
↓
事务成功/失败,写入CBS日志 + wusa独立日志
↓
根据传入的重启标记,执行对应重启策略
↓
wusa进程退出,返回ExitCode(0成功,3010成功需重启,其他为错误码)
二、依赖文件清单
| 文件 / 服务 | 核心作用 |
|---|---|
wusa.exe |
主程序外壳,参数解析、MSU 解压、任务调度、重启控制 |
wusapi.dll |
Windows Update 基础 API,补丁信息查询、版本比对 |
cbs.dll |
✅ CBS 核心库,组件服务事务接口,真正更新逻辑入口 |
trustedinstaller.exe / TiWorker.exe |
可信安装工作进程,以 NT SERVICE\TrustedInstaller 权限执行系统文件修改 |
cab.dll |
CAB 压缩包解压(MSU 本质是 CAB 封装) |
msxml6.dll |
解析 MSU 内部的更新元数据 xml |
advapi32.dll |
权限、服务控制、日志写入 |
wuauserv(Windows Update服务) |
部分版本依赖 WU 服务查询补丁状态 |
C:\Windows\Logs\CBS\CBS.log |
核心更新事务日志(wusa /log 额外输出独立日志) |
C:\Windows\Servicing\ |
CBS 组件存储、更新回滚备份目录 |
三、依赖关系
- 权限依赖 必须管理员权限;修改系统核心组件需要 TrustedInstaller 上下文,普通用户直接执行会失败。
- 系统版本依赖 wusa 从 Vista 引入;XP 无原生 wusa;不同 Win10/11 版本 CBS 接口略有差异,高版本 MSU 无法在旧系统安装。
- MSU 包强依赖
- 安装模式:必须提供匹配系统版本的 msu 文件
/uninstall /kb:xxxx模式不需要原始 msu,直接从系统 CBS 清单里检索已安装 KB 卸载
- 服务依赖
TrustedInstaller、Windows Modules Installer服务必须正常运行;服务禁用时 wusa 直接报错。 - 事务依赖 CBS 具备事务回滚:更新中途失败自动还原文件;但如果是部分独立驱动类 MSU,部分无完整回滚。
- ExitCode 依赖(运维自动化关键)
0:成功,无需重启3010:成功,必须重启才生效(最常用判断值)0x80240017:补丁不适用当前系统(版本 / 前置缺失)
四、配套链
✅ 配套工具与运维组件
- DISM.exe:离线镜像注入 MSU 更新(wusa 只能在线运行系统打补丁,DISM 可以离线 wim)
- Get-WindowsUpdate(PowerShell 模块):现代替代方案,在线检索 + 安装更新
- Dism++:可视化封装 wusa/CBS 能力,批量离线打补丁
- ProcMon:排查 wusa 报错、TiWorker 文件操作异常
- CBS.log 解析工具:定位补丁依赖缺失、文件占用等深层失败原因
- WSUS 服务器:企业批量分发 MSU 补丁,可配合 wusa 静默执行
✅ 截图标准示例
:: 静默安装msu,不自动重启,输出日志
wusa D:\patch\kb5039212.msu /quiet /norestart /log:C:\logs\kb5039212.log
:: 通过KB号静默卸载补丁,不需要原始msu
wusa /uninstall /kb:5039212 /quiet /norestart
五、边界与高频坑点(重点)
- 能力边界:wusa 只支持 MSU 包,不支持 EXE、MSI 补丁 很多驱动 / 运行库补丁是 exe 封装,无法用 wusa 安装;wusa 不能直接处理通用 MSI 安装包。
- /quiet 不等于完全无后台阻塞
/quiet不弹出 UI,但 TiWorker 后台大量 IO/CPU 占用;脚本串行执行时必须判断3010返回码,不能直接认为打完就生效。 - /uninstall/kb 边界 只能卸载通过 CBS 注册的系统补丁;第三方独立驱动、软件补丁不会登记在 CBS,无法用 kb 卸载。
- 前置依赖坑 MSU 补丁经常依赖前置 Servicing Stack 更新,如果底层 SSU 缺失,wusa 静默直接失败,日志提示 “此更新不适用于你的计算机”。
- 离线镜像边界 wusa不能处理离线 WIM;离线镜像注入 MSU 必须用
dism /add-package,wusa 仅能在正在运行的操作系统执行。 - 精简系统风险 精简系统移除 CBS/TrustedInstaller 组件后,wusa 看似可以启动,但所有补丁安装直接失败。
- 重启参数无法覆盖强制内核更新 部分内核、boot 相关补丁,就算指定
/norestart,系统依然会标记必须重启,无法永久跳过。 - 和 Windows Update 自动更新区别 wusa 是手动离线单补丁;WU 自动更新是后台扫描、批量下载调度,底层共用 CBS,但入口完全独立。
.MSU(Microsoft Update Standalone Package,微软独立更新包)完整解构文档
基础定义 MSU 是 Vista 及之后 Windows 使用的离线独立更新分发封装格式,配套
wusa.exe作为官方安装入口;MSU 本身不是可执行程序,只是结构化压缩包容器,内部承载 CBS 组件包、元数据、校验信息,最终交给 CBS 引擎完成系统更新。 文件后缀.msu,全称 Microsoft Update Standalone Package。
一、底层原理
- 整体封装结构 MSU 本质是 Microsoft Cabinet(.cab)格式文件,但拥有专属的文件签名与头部标识,普通解压工具可强行解包,但系统会校验内部元数据完整性。 标准 MSU 内部固定包含 4 类核心文件: | 内部文件 | 作用 | |---|---| |
*.cab| 实际更新有效载荷:里面包含 CBS 组件清单*.manifest、系统文件、注册表模板、资源文件 | |update.xml| MSU 顶层元数据:KB 编号、产品版本、适用系统、前置依赖、更新类型(安全 / 累积 / SSU)、重启需求描述 | |update.cat| 安全目录文件,数字签名,校验 cab 内所有文件哈希,防止篡改 | |WU_EULA_ACCEPT=yes许可声明文件 | 记录许可协议信息 | - 完整流转链路(wusa + CBS)
wusa.exe 接收 .msu 文件路径
↓
wusa校验msu头部、校验update.cat数字签名(防止篡改)
↓
读取update.xml,校验当前系统是否匹配版本、是否满足前置依赖
↓
提取内部的组件cab包,提交任务到CBS(cbs.dll)
↓
CBS解析manifest组件清单,构建依赖树、版本比对
↓
TiWorker.exe(TrustedInstaller)以高权限执行文件替换、注册表写入
↓
事务提交/回滚,记录CBS日志,wusa返回退出码(0 / 3010等)
- 两种卸载逻辑
- 方式 1:传入原始 msu +
/uninstall→ 读取包内清单执行卸载 - 方式 2:
/uninstall /kb:XXXX→ 不依赖原始 msu,直接读取系统 CBS 数据库中登记的 KB 信息反向移除组件
- 和 CBS 的绑定关系 MSU 内的有效载荷必须是符合 CBS 规范的组件包;如果包里不是 CBS manifest 组件,哪怕后缀改成 msu,wusa 也无法安装。
二、依赖文件清单
| 文件 / 组件 | 核心作用 |
|---|---|
*.msu |
顶层封装容器(cab 格式,带独立签名元数据) |
wusa.exe |
MSU 专属解析调度外壳,负责签名校验、参数分发 |
cab.dll |
CAB 压缩包解压引擎,解析 msu 本体以及内部组件 cab |
msxml6.dll |
解析 update.xml、组件manifest XML 清单 |
cbs.dll |
CBS 核心引擎,组件依赖校验、更新事务管理 |
tiworker.exe / trustedinstaller.exe |
高权限执行系统文件替换 |
wusapi.dll |
Windows Update API,查询本地已安装补丁清单 |
crypt32.dll |
校验 update.cat 数字签名,验证包未被篡改 |
C:\Windows\WinSxS |
CBS 组件仓库,存放系统组件备份 |
C:\Windows\Servicing |
CBS 状态数据库,记录已安装的 KB 清单 |
C:\Windows\Logs\CBS\CBS.log |
更新事务详细日志 |
三、依赖关系
- 版本与系统强依赖 MSU 是针对特定 Windows 版本 / 分支编译;Win10 22H2 的 MSU 不能直接用于 Win11,缺少匹配组件清单会直接报错「此更新不适用于此计算机」。
- 前置 SSU 依赖 绝大多数累积更新 MSU 依赖对应版本 Servicing Stack Update(SSU),如果底层 SSU 版本过低,CBS 无法识别新格式的 manifest,更新直接失败。
- 签名依赖 默认系统要求 MSU 带有微软合法数字签名;去掉签名或者篡改内部文件后,wusa 直接拒绝安装(组策略可临时关闭校验,生产不推荐)。
- 权限依赖 wusa 调用 MSU 安装必须管理员权限;最终文件修改依赖 TrustedInstaller 账号权限。
- 服务依赖
TrustedInstaller(Windows Modules Installer)服务必须正常运行;服务禁用时 MSU 无法落地。 - 离线场景特殊依赖
dism /add-package可以直接加载 msu 用于离线 WIM 镜像注入,不需要 wusa,也不需要 TiWorker 进程,直接操作镜像内 WinSxS。
四、配套链
✅ 上层调用工具
- wusa.exe:在线运行系统离线安装 MSU 标准入口
- dism.exe:离线 WIM 镜像注入 MSU 更新,也可在线加载 MSU
- Windows Update(wuauserv):在线自动下载同格式 MSU 包后台安装
- WSUS 服务器:企业批量分发 MSU 更新包
- Dism++:图形化封装 MSU 导入、清理、修复能力
✅ 辅助工具
expand.exe:系统原生命令,可直接解压 msu(expand *.msu -f:* D:\tmp)- Orca / 记事本:查看 update.xml 元信息
- Signtool:校验 / 查看 msu 内 cat 签名
- CBS 日志解析脚本:定位依赖、哈希、文件占用类报错
✅ 标准运维示例
:: wusa安装msu静默
wusa D:\kb5039212.msu /quiet /norestart
:: DISM离线镜像注入msu(PE/镜像流水线)
dism /image:D:\offline-wim /add-package /packagepath:D:\kb5039212.msu
:: 原生expand解压msu
expand kb5039212.msu -f:* D:\msu_extract
五、边界与高频坑点(重点)
- 能力边界:MSU 仅承载 CBS 系统组件更新 MSU不能打包普通软件、独立 EXE 驱动;普通第三方驱动 / 运行库 exe 补丁不属于 MSU,wusa 无法识别安装。
- 离线 DISM 和 wusa 行为差异 wusa 只能作用于正在运行的操作系统;
dism /image处理离线 WIM 内 MSU,不走 TiWorker,不会触发在线系统校验。 - 解压不等于可直接安装 直接把 msu 解压出来的 cab,不能直接交给 wusa;wusa 识别入口必须是
.msu封装包(DISM 可以直接加载内部 cab 组件包)。 - /uninstall/kb 边界 仅 CBS 登记的系统 KB 补丁支持按 KB 卸载;部分硬件厂商独立驱动 MSU 不会写入 CBS 数据库,无法用 KB 号卸载,只能保留原始 msu。
- 文件占用边界 MSU 内正在被占用的系统文件,CBS 无法即时替换,会注册下次开机替换,必须重启才生效,wusa 返回 3010。
- 精简系统风险 精简系统裁剪 WinSxS、cbs.dll、TrustedInstaller 后,MSU 包即使能被 wusa 识别,也无法完成实际安装。
- 命名认知误区 MSU ≠ 独立可执行补丁;很多运维误以为 msu 是自运行程序,本质只是给 CBS 喂数据的封装容器。
- 不支持跨架构 x64 的 msu 不能部署在 ARM64 系统,架构不匹配直接判定不适用。
cbs.dll(Component Based Servicing,基于组件的服务核心库)完整解构文档
基础定义
cbs.dll路径:C:\Windows\System32\cbs.dll,Vista 及后续 Windows 引入,是CBS 组件化更新模型的核心实现库,系统组件安装、补丁更新、功能启用 / 禁用、系统修复(sfc /scannow、DISM、wusa)底层全部依赖它;TiWorker.exe(TrustedInstaller 工作进程)会加载 cbs.dll 执行核心业务逻辑。 CBS 全称 Component Based Servicing,替代 XP 时代的 INF / 文件复制式系统更新,以组件清单、版本依赖、事务回滚为核心设计。
一、底层原理
- 核心定位 cbs.dll 实现整套 CBS 事务引擎:组件清单解析、版本比对、依赖校验、文件占位、事务提交 / 回滚、组件状态持久化;它不直接执行文件 IO,而是调度底层文件服务与 TrustedInstaller 权限上下文。 所有上层工具:
sfc.exe、dism.exe、wusa.exe、Windows Update、系统功能启用(可选功能),最终都会调用 cbs.dll 暴露的 COM / 原生 API,发起 CBS 事务。 - 核心数据模型 系统组件清单存储在
C:\Windows\WinSxS,每一个组件拥有独立清单(.manifest),记录文件路径、版本、依赖组件、权限、哈希;cbs.dll 负责:
- 读取 manifest,解析组件依赖树
- 比对当前系统组件版本,判定是否需要安装 / 替换
- 创建事务上下文:所有文件、注册表变更先写入临时存储,全部校验成功才一次性提交;任意环节失败自动回滚
- 更新组件状态数据库(
C:\Windows\Servicing\下的状态存储) - 输出日志到
C:\Windows\Logs\CBS\CBS.log
- 典型调用链路(wusa 打补丁场景)
wusa.exe → wusapi.dll → cbs.dll(创建CBS安装事务)
↓
cbs.dll 解析MSU内组件manifest,校验前置依赖、组件版本冲突
↓
cbs.dll 请求TrustedInstaller(TiWorker.exe)高权限上下文
↓
TiWorker加载cbs.dll,执行文件占位、文件替换、注册表写入
↓
事务成功 → 提交变更,更新WinSxS组件清单;事务失败 → 自动回滚所有修改
↓
cbs.dll 输出执行结果与日志,向上层返回退出码(0 / 3010 等)
sfc 场景:cbs.dll 校验系统文件哈希,从 WinSxS 组件库提取完好文件修复受损文件。
- 两套对外 API 体系
- 原生 C 导出 API:供 TiWorker、内部系统程序直接调用
- COM 接口:
ICbsServicing、ICbsTransaction、ICbsPackage等,供 DISM、WU 等上层组件调用
二、依赖文件清单
| 文件 / 服务 | 核心作用 |
|---|---|
cbs.dll |
CBS 核心引擎,事务管理、组件清单解析、依赖校验核心 |
tiworker.exe |
TrustedInstaller 工作进程,承载 cbs.dll 运行上下文,具备最高系统文件修改权限 |
trustedinstaller.exe |
Windows Modules Installer 服务主进程,启动 TiWorker |
winsxs.dll |
WinSxS 存储库访问接口,读取组件 manifest、备份文件 |
cab.dll |
CAB 包解压,解析 MSU / 更新包内的组件清单 |
msxml6.dll |
解析组件.manifest XML 清单 |
rpcrt4.dll |
跨进程 RPC 通信(上层进程和 TiWorker 之间事务通信) |
advapi32.dll |
安全权限、注册表操作、日志写入 |
kernel32.dll |
文件 IO、内存管理、事务原语 |
C:\Windows\WinSxS\ |
组件二进制备份仓库 |
C:\Windows\Servicing\ |
CBS 数据库、事务日志、状态持久化目录 |
C:\Windows\Logs\CBS\CBS.log |
cbs.dll 核心诊断日志 |
三、依赖关系
- 进程上下文依赖 cbs.dll必须在 TiWorker.exe(TrustedInstaller)进程内执行真正的文件修改;普通用户 / 管理员进程加载 cbs.dll 仅能做查询、校验,无法执行组件安装 / 替换。
- 服务依赖 依赖
TrustedInstaller(Windows Modules Installer)服务,服务禁用 / 异常时,所有 CBS 更新、sfc、dism、wusa 全部失败。 - 存储依赖 WinSxS 目录不能删除、损坏;组件清单缺失时 cbs.dll 无法完成版本校验与修复。
- 前置组件依赖 cbs 执行更新时会校验组件依赖树,如果前置 Servicing Stack(SSU)版本过低,直接判定更新不适用。
- 权限依赖 TiWorker 以
NT SERVICE\TrustedInstaller账号运行,该账号拥有修改受保护系统文件的权限,普通管理员 ACL 无此权限。 - 版本兼容性依赖 不同 Windows 大版本(Win10 21H2 / Win11 22H2)的 cbs.dll 接口、manifest 格式存在差异;高版本 cbs 无法直接适配旧系统组件清单。
四、配套链
✅ 上层调用工具 / 组件
- wusa.exe:MSU 离线补丁安装入口,调用 CBS 安装包事务
- dism.exe/ DismPowerShell 模块:在线修复、离线 WIM 注入更新、启用可选功能,底层完全依赖 cbs.dll
- sfc.exe:系统文件完整性校验修复,cbs 负责比对哈希、从 WinSxS 恢复文件
- Windows Update(wuauserv):在线累积更新、功能更新,后台调度 CBS 事务
- 设置 - 可选功能:系统自带功能增删,底层 CBS 组件安装
✅ 辅助运维工具
- CBS 日志解析脚本:自动定位依赖缺失、文件占用、哈希不匹配故障
- Dism++:封装 DISM/CBS 能力,图形化执行系统修复、清理 WinSxS
- ProcMon:跟踪 cbs.dll 触发的文件 / 注册表操作,定位更新卡住、失败根因
- NTFS 事务(TxF):早期 CBS 使用 TxF 辅助事务,新版逐步弱化依赖
✅ 典型调用示例(底层视角)
// 伪代码:创建CBS事务,安装更新包
ICbsServicing* pCbs = nullptr;
CoCreateInstance(CLSID_CbsServicing, nullptr, CLSCTX_LOCAL_SERVER, IID_ICbsServicing, (void**)&pCbs);
ICbsTransaction* pTrans = nullptr;
pCbs->CreateTransaction(&pTrans);
pTrans->AddPackage(msuPackagePath);
pTrans->Commit(); // 提交事务,TiWorker执行变更
五、边界与高频坑点(重点)
- 能力边界:cbs.dll 只处理 CBS 规范组件 仅识别带
.manifest清单的系统组件;第三方 EXE、MSI 软件不属于 CBS 组件,cbs.dll 不会管理,sfc/dism/wusa 都无法修复这类程序。 - 事务回滚边界 CBS 事务仅覆盖cbs 托管的系统组件文件 / 注册表;更新包内自带的第三方驱动、独立程序不在事务管控范围内,失败不会自动回滚。
- 离线镜像边界 离线 DISM(
dism /image)会加载独立的 cbs 库上下文,不启动 TiWorker,直接操作 WIM 内的 WinSxS;和在线运行系统的 CBS 流程有差异。 - WinSxS 清理边界 cbs.dll 本身不主动清理 WinSxS;组件删除后旧版本备份依然保留,需要 DISM /StartComponentCleanup 执行组件清理。
- 日志边界 CBS.log 信息量极大,默认不会自动轮转;长期频繁打补丁会造成日志膨胀,故障排查需要关键字过滤(
0x800f系列错误码)。 - 精简系统风险 精简系统直接移除 cbs.dll 或裁剪 WinSxS 清单,会直接导致 sfc、dism、系统补丁全部失效,且很难修复。
- 文件占用冲突边界 如果待替换系统文件正在被进程占用,cbs 事务会失败;部分关键文件会注册下次启动替换,依赖会话管理器(smss)开机执行替换。
- SSU 前置依赖坑 很多累积更新依赖最新 Servicing Stack,SSU 本身也是 CBS 组件;旧 SSU 下 cbs.dll 无法识别新的更新包,报错 “更新不适用于此计算机”。
WUSA(Windows 更新独立安装程序)参数完整解读
一、工具简介
wusa.exe 是 Windows 内置的独立更新安装工具,专门用于离线安装 / 卸载 .msu 格式系统更新包,支持命令行静默批量运维,常用于服务器、域环境批量打补丁。二、完整命令语法翻译与说明
1. 安装更新
wusa <update路径> [/quiet] [/norestart | /warnrestart:<秒数> | /promptrestart | /forcerestart] [/log:<日志文件>]
<update>:本地 MSU 更新文件完整路径,例:C:\Updates\windows10.0-kb5039299-x64.msu/quiet:静默安装,无弹窗交互,后台运行;所有重启控制参数必须搭配此参数生效
2. 卸载(指定 MSU 文件)
wusa /uninstall <update路径> [/quiet] [重启参数] [/log:<日志文件>]
3. 卸载(直接指定 KB 编号,无需 MSU 原文件)
wusa /uninstall /kb:<KB编号> [/quiet] [重启参数] [/log:<日志文件>]
wusa /uninstall /kb:5039299 /quiet /norestart三、所有参数分项详解
| 参数 | 作用说明 | 使用场景 |
|---|---|---|
/? /h /help |
弹出此帮助窗口,查看全部参数 | 忘记语法时快速查阅 |
/uninstall |
切换为卸载模式,移除已安装更新 | 回滚故障补丁 |
/kb:<数字> |
搭配/uninstall,直接通过 KB 号卸载,不需要原 MSU 文件 |
运维批量卸载已知编号补丁 |
/quiet |
完全静默模式,无 GUI 弹窗,后台执行 | 脚本、域推送、无人值守部署 |
/norestart |
静默安装完成后不自动重启,即使更新要求重启也跳过 | 多补丁批量安装,全部打完后统一手动重启 |
/warnrestart:<seconds> |
静默模式下倒计时弹窗提示重启,单位秒 | 需要给用户保存工作时间再重启 |
/promptrestart |
静默安装结束后弹出确认框,由用户手动选择是否重启 | 兼顾自动化与用户操作权限 |
/forcerestart |
强制关闭所有程序并立即重启,无保存提醒 | 服务器无人值守、必须立刻生效补丁 |
/log:<文件名> |
生成详细安装日志,记录报错、执行过程 | 补丁安装失败排错,定位故障原因 |
四、实用示例脚本
示例 1:静默安装补丁,安装后不重启,输出日志
wusa C:\patch\kb5039299.msu /quiet /norestart /log:C:\patch\install.log
示例 2:静默卸载指定 KB 补丁,强制重启
wusa /uninstall /kb:5039299 /quiet /forcerestart
示例 3:静默安装,60 秒倒计时后自动重启
wusa D:\update.msu /quiet /warnrestart:60
五、注意事项 ⚠️
- 运行权限:执行 wusa 命令必须管理员身份,普通 CMD 会报错权限不足;
- 参数冲突:重启类参数(
/norestart//forcerestart等)同一命令只能选一个,不能同时使用; - 适用文件:仅支持
.msu离线更新包,.cab无法直接用 wusa 安装; - 系统限制:家庭版、专业版、服务器版均内置该工具,Win7 及以上系统可用。
wusa.exe(Windows Update Standalone Installer)完整底层原理
一、整体定位:上层封装器,不直接做底层文件替换
- 解析
.msu离线更新包; - 调用 Windows Update Agent(WUA)API;
- 对接 CBS/TrustedInstaller 底层组件服务;
- 处理 GUI 弹窗、静默参数、重启控制、日志输出;
- 统一管理安装 / 卸载两种流程。
二、MSU 包内部结构(wusa 第一步解析对象)
- 更新 CAB 包:内含补丁二进制(dll/sys/exe)、组件清单
update.mum、安全签名update.cat - XML 元数据(update.xml):记录 KB 编号、适用系统版本、依赖前置补丁、重启要求、修复说明
- 属性文件(properties.txt):补丁标题、知识库链接、分类(安全 / 累积 / 驱动)
- 数字签名:微软证书校验,防止篡改补丁
三、完整安装底层执行流程(官方标准链路)
阶段 1:预校验与沙箱解压(wusa.exe 自身完成)
- 校验管理员权限,无管理员直接返回
0x80070005拒绝访问; - 读取 MSU 内部元数据,校验当前系统版本、架构是否匹配补丁;
- 创建Windows Update 沙箱临时目录(受 ACL 保护,普通进程无法读写),将 MSU 全部内容解压至此;
- 校验
.cat数字签名,确认补丁来自微软官方; - 解析命令行参数(
/quiet//norestart//log),保存行为策略。
阶段 2:调用 WUA API 提交更新事务(wusa → Windows Update Agent)
wuapi.dll(Windows Update Agent 核心库)的标准 API:IUpdateInstaller:创建离线更新安装会话;IUpdate:传入沙箱内 CAB 补丁包对象;- 同步阻塞等待底层服务执行完成(单实例限制:同一时间仅允许 1 个 wusa 进程运行)Microsoft ...。
阶段 3:WUA 转发至 CBS 组件服务栈(WUA → CBS → TrustedInstaller)
- WUA 将补丁包转发给 CBS(Component-Based Servicing,基于组件的系统维护);
- CBS 启动高权限服务
TrustedInstaller(服务 SID 为 NT SERVICE\TrustedInstaller,高于管理员权限,负责 WRP 系统保护文件替换); - CBS 基于事务模型(KTM 内核事务管理器)执行更新:
- 对比系统当前组件版本,仅替换差异文件;
- 事务式写入文件 + 注册表:全部成功才提交,任意失败自动回滚;
- 更新
WinSxS组件仓库、系统驱动、服务配置; - 自动创建系统还原点(可选)。
阶段 4:收尾逻辑(wusa 接管上层控制)
- 接收 CBS/WUA 返回的执行状态码(0 成功、80240007 不适用、800f081f 组件损坏等);
- 根据传入参数处理重启:
/forcerestart:强制关闭程序立刻重启;/norestart:跳过重启提示;/warnrestart/promptrestart:弹出倒计时 / 确认弹窗;
- 写入自定义日志文件(
/log参数指定路径),同时同步写入系统 CBS 日志%windir%\Logs\CBS\CBS.log; - 清理沙箱临时解压目录,释放进程。
四、卸载模式底层原理(/uninstall / /uninstall /kb:xxx)
1. 带 MSU 文件卸载:wusa xxx.msu /uninstall
2. 仅 KB 号卸载(无需原 MSU 文件):wusa /uninstall /kb:5039299
- wusa 读取 CBS 注册表库:
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages; - 遍历所有已安装包,匹配
Package_for_KBxxxx命名规则,定位完整组件包; - 找到包后直接提交卸载事务给 TrustedInstaller,无需本地 MSU 源文件;
- 无匹配包则返回报错 “未安装此更新”。
五、关键底层依赖组件分工对比
| 组件 | 文件名 / 服务名 | 层级 | 核心职责 | 和 wusa 关系 |
|---|---|---|---|---|
| wusa.exe | %windir%\System32\wusa.exe |
上层用户层 | 解析 MSU、参数处理、GUI、调用 WUA API、重启控制 | 入口程序,仅封装,不碰系统核心文件 |
| Windows Update Agent | wuapi.dll / wuauserv | 中间协调层 | COM 更新 API、会话管理、补丁预处理 | wusa 唯一调用接口,中转指令给 CBS |
| CBS 组件维护 | cbs.dll、TiSvc(TrustedInstaller) | 底层系统服务 | 事务化组件安装 / 回滚、WinSxS 维护、WRP 受保护文件替换 | wusa 间接调用,真正修改系统的引擎 |
| KTM 内核事务管理器 | ktm.dll | 内核层 | 文件 / 注册表事务,更新失败自动回滚 | CBS 底层依赖,wusa 无直接交互 |
六、wusa.exe 与 DISM 的底层差异(易混淆点)
- wusa:仅支持 MSU 包,依赖 WUA 代理,面向单补丁离线安装 / 卸载,自带友好静默重启控制、KB 号卸载能力;
- DISM /Add-Package:直接操作 CBS,支持 CAB 原始包、离线镜像(wusa 无法处理离线 wim),跳过 WUA 层,适合批量批量组件、系统修复。
- 底层共性:两者最终都调用 TrustedInstaller/CBS 完成文件变更。
七、核心约束底层根源
- 单实例限制:WUA API 同一系统仅允许一个更新会话,多开 wusa 会阻塞排队;
- 必须管理员:wusa 调用 WUA COM 接口需要提升权限,普通用户无法发起 CBS 事务;
- 无法绕过 TrustedInstaller:系统受保护文件(system32 核心 dll)仅 TiSvc 有权限覆盖,管理员直接修改会被 WRP 回滚;
- 事务原子性:更新中途断电 / 崩溃,下次开机 CBS 自动回滚到更新前状态,不会半残系统。
八、日志排错链路(底层追踪顺序)
- wusa 自定义日志(
/log指定文件):记录参数、MSU 解析、WUA 会话启动信息; - Windows 更新日志:
%windir%\WindowsUpdate.log:WUA 代理交互详情; - CBS 核心日志:
%windir%\Logs\CBS\CBS.log:底层组件安装、文件替换、报错根源(排错最关键)。
wusa.exe 完整配套组件链(分层上下游全链路)
一、入口交互层(wusa.exe 自身与前端配套)
1. 核心主体:wusa.exe
C:\Windows\System32\wusa.exe
配套关联文件
wusa.exe.mui路径:C:\Windows\System32\zh-CN\wusa.exe.mui作用:本地化语言资源,弹窗中文提示、帮助文本(你截图里的帮助窗口文字由此文件提供)。- wusa 依赖基础 COM 库
user32.dll:窗口弹窗、消息交互shell32.dll:临时目录解压、系统路径解析
二、中间调度层(WUA Windows Update Agent,wusa 唯一调用接口)
核心组件清单
wuapi.dll(核心 COM 接口库)对外暴露IUpdateInstaller/IUpdate等接口,wusa 通过 COM 调用此库提交离线 MSU 更新事务。wuaueng.dllWUA 核心引擎,解析更新元数据、校验系统适配性、管理更新会话。wuauserv服务(Windows Update 服务)服务名:wuauserv,依赖 RPC;作用:维持 WUA COM 会话,缓存已安装补丁元数据、对接 CBS。wucltux.dll、wuwebv.dll辅助扩展:离线更新校验、数字签名验证、更新状态查询。
配套存储(WUA 补丁数据库)
C:\Windows\SoftwareDistribution\DataStore
wusa /uninstall /kb:xxx 会先读取此处匹配 KB 包信息。三、底层系统服务层(CBS + TrustedInstaller,真正修改系统的执行引擎)
1. CBS 组件基础库
cbs.dll:组件事务管理器,解析 mum 组件清单、版本对比、回滚逻辑;cbsapi.dll:对外提供组件安装 API,供 WUA/DISM/wusa 调用;- 日志目录:
C:\Windows\Logs\CBS\CBS.log(底层报错核心排查日志)。
2. TrustedInstaller 服务(TiSvc)
NT SERVICE\TrustedInstaller,权限高于本地管理员;
3. 内核底层支撑
- KTM(内核事务管理器
ktm.dll)为 CBS 提供原子事务:更新要么全部完成提交,失败则完整回滚,避免系统半损坏; - WRP(Windows Resource Protection)
拦截普通进程篡改系统文件,仅放行 TrustedInstaller,防止补丁被第三方程序破坏;
- PnP 管理器(
cfgmgr32.dll)驱动类补丁配套:wusa 安装驱动更新时,CBS 调用 PnP 刷新驱动注册表与硬件配置。
四、格式 / 存储支撑层(MSU、WinSxS、注册表配套)
1. MSU 包格式配套(wusa 专属输入格式)
- 补丁 CAB 包:包含系统组件、
update.mum(组件清单)、update.cat(数字签名) update.xml:KB 编号、依赖、重启要求、系统适配版本properties.txt:补丁展示名称、分类、微软知识库链接
2. WinSxS 组件仓库(补丁最终存储载体)
C:\Windows\WinSxS
3. CBS 注册表数据库(补丁安装记录)
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages
Package_for_KBXXXX 项,wusa /uninstall /kb 直接读取此注册表定位卸载包。五、同生态配套运维工具(和 wusa 互补,同 CBS 底层链路)
1. DISM.exe(Deployment Image Servicing and Management)
- 区别:wusa 仅支持 MSU、面向在线系统;DISM 直接加载 CAB 包,支持离线 WIM 镜像部署;
- 共用底层:两者最终均调用 CBS+TrustedInstaller 执行组件操作。
常用互补命令:
# DISM 安装CAB补丁(wusa无法直接处理cab)
DISM /Online /Add-Package /PackagePath:xxx.cab
2. sfc.exe(系统文件检查器)
3. Get-WindowsUpdate(PowerShell WUA 模块)
Get-WindowsPackage -Online | Where-Object {$_.PackageName -match "KB50xxx"}
4. wbadmin.exe(Windows 备份)
六、完整数据流链路(从执行到落地全流程)
管理员 CMD/PowerShell → wusa.exe
↓(COM调用 wuapi.dll)
Windows Update Agent (wuauserv + wuaueng.dll)
↓(转发组件事务)
CBS(cbs.dll) → TrustedInstaller(TiSvc)
↓(内核事务KTM + WRP保护)
WinSxS组件仓库 + 系统目录/注册表写入
日志分流:
1. wusa自定义日志(/log 参数指定)→ 记录入口参数、MSU解析
2. WindowsUpdate.log → WUA调度日志
3. CBS.log → 底层文件替换、报错根源日志
七、配套链故障联动关系(排错参考)
- wusa 弹窗报错 0x80070005:wuauserv 未启动 / 缺少管理员权限;
- wusa 报 0x800f081f:CBS 组件损坏、WinSxS 缺失对应补丁文件,需 DISM 修复;
- 卸载
/kb:xxx提示找不到更新:SoftwareDistribution 缓存 / Component Based Servicing 注册表记录损坏; - 补丁安装后文件未生效:TrustedInstaller 服务异常、WRP 拦截写入。
wusa.exe(Windows Update Standalone Installer)完整演进史
一、诞生背景:Windows Vista / Server 2008(2007)—— 初代基础版本
设计动因
初代核心能力(仅基础安装)
- 支持双击 MSU 图形化安装、基础
/quiet静默安装; - 底层链路:wusa → WUA API → CBS/TrustedInstaller;
- 仅安装功能,无卸载能力,不支持
/uninstall、/kb参数; - 无
/log原生日志参数,排错需手动开启 WUA 跟踪日志; - 无精细化重启控制,静默安装后强制自动重启,无法自定义策略;
- 临时局限:不支持批量串行安装多补丁,多进程冲突无排队机制。
关键缺陷
二、里程碑升级:Windows 7 / Server 2008 R2(2009)—— 完整运维工具成型
新增核心能力
- 卸载模块上线(
/uninstall)- 两种卸载模式:指定 MSU 文件卸载;
- 新增
/kb:<编号>参数,无需原 MSU 文件,直接通过 KB 号卸载(运维核心刚需);
- 全套静默重启控制参数(全部沿用至今)
/norestart//warnrestart:<秒>//promptrestart//forcerestart; - 原生日志
/log:<文件路径>独立输出 wusa 执行日志,不再依赖系统底层跟踪; - 完善 MSU 签名校验、系统版本预校验,拦截不匹配架构 / 系统补丁;
- 单实例排队机制:多 wusa 进程串行执行,避免补丁事务冲突;
- 自动创建系统还原点,更新故障可一键整机回滚。
配套底层协同优化
三、小幅迭代:Windows 8 / 8.1 / Server 2012 (R2)(2012–2014)—— 兼容性与硬件补丁适配
主要改进
- 适配 Modern 驱动 MSU 包(网卡、显卡、平板触控固件更新);
- 优化 ARM32 平板设备离线补丁安装;
- 强化数字签名校验,拦截篡改 MSU,适配微软 SHA2 代码签名标准;
- 日志细化:区分 “MSU 解析失败”“WUA 会话失败”“CBS 底层文件替换失败” 三类报错;
- 修复 Vista/7 遗留 bug:长路径 MSU 文件静默安装闪退、中文路径乱码。
无新增命令行参数
四、架构兼容重构:Windows 10 全系列 / Server 2016/2019(2015–2022)—— 现代企业运维适配
核心底层演进
- SSU 前置补丁校验
安装累积更新前自动检测前置服务堆栈更新,缺失则直接报错提示先安装 SSU,避免 CBS 组件损坏;
- 多会话远程运维适配
支持 PowerShell 远程、WMI 远程调用 wusa,域环境批量推送脚本稳定性提升;
- LTSC 嵌入式场景优化
适配工控、零售终端长期离线更新,优化无网络环境元数据缓存读取;
- 错误码标准化
统一输出 CBS 底层报错代码(0x800f081f 组件损坏、0x80240034 补丁缺失),日志可直接对接运维监控;
- 32/64 位双架构自动适配,自动区分 x86/x64 MSU 包,无需脚本额外判断系统位数。
功能限制新增(累积更新专属约束)
- 合并式 SSU+LCU 大包无法通过
wusa /uninstall完整卸载,需改用 DISM,微软官方文档明确标注该限制Microsoft ...。
五、现代稳定版:Windows 11 / Server 2022–2025(2021 至今)——UI、安全、云适配优化
表层优化(你截图内的帮助窗口即此版本 UI)
- 帮助弹窗现代化界面,分层展示语法与参数说明,完善多语言本地化(中文 MUI 资源完善);
- UAC 权限校验逻辑强化,标准用户直接执行会弹出明确管理员提权提示,不再静默失败;
底层安全升级
- 强制校验 MSU SHA256 签名,废弃老旧 SHA1 校验;
- 隔离临时解压沙箱目录 ACL,第三方进程无法篡改补丁临时文件,提升内网离线补丁安全;
- 适配 TLS 离线签名校验,断网环境仍可完整验证微软官方补丁;
云 / 混合运维适配
- 支持 Azure 本地服务器、离线虚拟机镜像后置补丁安装;
- 日志兼容 Windows 事件查看器,wusa 日志自动写入系统应用事件日志,支持 SIEM 运维审计;
语法完全无变动
六、跨代核心演进对照表
| 系统版本 | 关键新增功能 | 缺失能力 | 运维定位 |
|---|---|---|---|
| Vista/2008 | MSU 基础图形 / 静默安装 | 无卸载、无日志、无自定义重启 | 单机临时修复,企业几乎不用 |
| Win7/2008R2 | /uninstall /kb /log 全套重启参数 |
无 SSU 前置校验、无远程优化 | 标准化企业离线运维基准版本 |
| Win8/8.1 | 驱动 / 平板 MSU 兼容、SHA2 签名校验 | 无架构自动判断、无远程会话优化 | 平板 + 传统 PC 混合场景 |
| Win10 全版本 | SSU 前置校验、远程批量、LTSC 适配 | 合并 SSU-LCU 包无法 wusa 卸载 | 现代域 / 服务器批量运维主流 |
| Win11/Server2022+ | 现代 UI、强 SHA256 沙箱安全、事件日志集成 | 无新增命令参数 | 当前稳定通用版本 |
七、演进核心规律总结
- 上层语法冻结:自 Win7 完成全套参数定型后,Win8/10/11 从未新增 / 废弃任何命令行参数,实现跨 15 年系统脚本兼容;
- 底层持续适配:wusa 本身不修改文件,所有迭代均围绕适配 CBS、WUA、MSU 更新包格式演进;
- 定位固化:始终作为在线运行系统 MSU 离线补丁专用入口,不触碰离线 WIM 镜像(交由 DISM),分工边界清晰;
- 企业运维导向迭代:Win7 之后所有升级均围绕批量脚本、远程运维、日志审计、内网安全展开,个人单机仅附带收益。
八、生命周期边界
- 最低支持系统:Windows Vista(2007);
- 当前全兼容系统:Win7~Win11 24H2、Server2008~Server2025;
- 淘汰趋势:微软未计划移除 wusa.exe,内网 / 工控离线场景不可替代,短期内不会废弃;仅在线云环境逐步主推 Windows Update 自动推送。
wusa.exe 全场景应用分类(企业运维 / 单机修复 / 批量部署 / 特殊环境)
一、核心场景 1:离线内网无外网环境打补丁(最主流)
适用环境
实现逻辑
.msu 离线更新包,拷贝至目标内网主机,通过 wusa.exe 本地安装,全程不依赖 Windows Update 在线服务。实操示例
wusa D:\patch\windows11-kb5040525-x64.msu /quiet /norestart
细分场景
- 政务、军工、医院涉密内网终端批量安全更新;
- 工厂工控机、产线设备不允许外网访问,定期 U 盘导入补丁;
- 机房物理隔离服务器集群,统一离线运维。
二、核心场景 2:脚本自动化、无人值守静默批量部署
适用场景
优势
/quiet,可自定义重启策略,适配批处理 / PowerShell / 域组策略脚本,无人工弹窗干预。典型细分场景
- 新装机标准化
系统安装完成后,自动执行批处理批量加载累积更新,无需手动点安装弹窗;
- 服务器定时运维
通过任务计划程序凌晨自动执行 wusa 静默打补丁,避开业务高峰;
- 域组策略批量下发
GPO 登录脚本推送 MSU 包,域内所有客户端后台静默安装;
- 批量多补丁串行安装
搭配
/norestart参数,全部补丁安装完成后统一重启,避免多次重启中断业务。
:: 批量安装多个补丁,全部装完再手动重启
wusa kb1.msu /quiet /norestart
wusa kb2.msu /quiet /norestart
wusa kb3.msu /quiet /norestart
shutdown /r /t 30 /c "补丁安装完成,即将重启"
三、核心场景 3:精准回滚、卸载指定故障补丁
独有优势
适用场景
- 更新蓝屏、软件兼容崩溃、业务服务异常,定位问题 KB 后快速回滚;
- 批量卸载高危漏洞补丁、冲突驱动更新;
- 服务器批量撤销故障累积更新。
KB 号卸载示例(无需原 MSU)
wusa /uninstall /kb:5040525 /quiet /forcerestart
四、核心场景 4:单补丁精准修复,解决在线更新失败问题
适用场景
原理
细分使用场景
- 家用 / 办公电脑 Windows 更新报错,手动下载对应 KB 离线修复;
- 服务器 WU 服务故障,无法在线拉取补丁,单独修复安全漏洞;
- 系统缺失关键组件补丁(.NET、VC 运行库、安全累积更新),精准补充。
五、核心场景 5:驱动 / 硬件专属离线更新
- 服务器 RAID 卡、HBA 卡固件离线升级;
- 笔记本 OEM 专属驱动补丁,官网仅提供 MSU 离线包;
- 虚拟机虚拟化驱动(Hyper-V 集成组件、VMware Tools 系统补丁)离线部署。
六、核心场景 6:镜像部署后置更新(桌面 / 服务器标准化镜像)
场景说明
对比 DISM 差异
- DISM 适合离线挂载 WIM 镜像注入补丁;
- wusa 适合已开机运行的母机系统在线(本地文件)安装补丁,操作门槛更低,运维人员上手简单。
七、小众特殊场景
1. 日志审计、补丁安装排错
/log 参数生成独立日志文件,记录完整安装流程,用于:- 企业运维审计,留存补丁安装记录;
- 补丁报错定位,区分是 MSU 包损坏、系统组件故障还是权限问题。
wusa patch.msu /quiet /log:C:\logs\kb_install.log
2. 多版本系统差异化补丁分发
3. 低权限受限环境临时修复
4. 远程运维批量修复(MMC/PS 远程会话)
wusa vs DISM 场景选择对照表(快速区分什么时候用 wusa)
| 需求场景 | 优先选 wusa.exe | 优先选 DISM |
|---|---|---|
| 离线 MSU 包本地安装、静默脚本、KB 号卸载 | ✅ 首选 | ❌ 不支持 KB 直接卸载 |
| 已开机运行的在线系统运维、简单自动化 | ✅ 上手简单 | 语法复杂 |
| 需要人性化重启控制(倒计时 / 弹窗 / 强制 / 不重启) | ✅ 原生参数完善 | 无精细重启策略 |
| 离线挂载 WIM 镜像预注入补丁 | ❌ 不支持离线镜像 | ✅ 专用能力 |
| 原始 CAB 组件包安装、系统组件修复 | ❌ 不支持 CAB 直接安装 | ✅ 原生支持 |
| 批量母机封装、域客户端无人值守推送 | ✅ 适配脚本 / GPO | 适合镜像层操作 |
wusa 核心适用特征
- 输入载体:仅 MSU 离线更新包;
- 核心优势:静默自动化、KB 一键卸载、细粒度重启控制、操作简单;
- 目标环境:已启动运行的 Windows 在线系统,内网 / 断网 / 批量运维是最高频场景。
Windows 更新独立安装程序
Windows 更新独立安装程序
wusa </? | /h | /help>
wusa <update> [/quiet] [/norestart | /warnrestart:<seconds> /promptrestart |/forcerestart] [/log:<file name>]
wusa /uninstall <update> [/quiet] [/norestart | /warnrestart:<seconds> | /promptrestart | /forcerestart] [/log:<file name>]
wusa /uninstall /kb:<KB number> [/norestart | /warnrestart:<seconds> | /promptrestart | /forcerestart] [/log:<file name>]
I?. /h, /help-显示帮助信息。
wusa update - MSU 文件的完整路径。
wusa /quiet - 安静模式,无用户交互。根据需要重启。
wusa /uninstall -安装程序将卸载程序包。
wusa /kb - 与 /uninstall 结合使用时,安装程序将卸载与 KB 数关联的程序包。
wusa /norestart -与 /quiet 结合使用时,安装程序将不启动重启。
wusa /warnrestart -与 /quiet 结合使用时,安装程序将在启动重启前向用户发出警告。
wusa /promptrestart -与/quiet 结合使用时,安装程序将在启动重启前予以提示。
wusa /forcerestart -与 /quiet 结合使用时,安装程序将强制性关闭应用程序并启动重启。
wusa /log - 安装程序将启用日志记录
Windows Hotfix 管理是通过 Microsoft Windows 更新管理工具和命令行工具进行的。在 Windows 操作系统中,Hotfix 是一种用于修复操作系统缺陷、漏洞或提供安全更新的软件包。以下是与 Windows Hotfix 管理相关的常用命令分类及其功能说明。
Windows Hotfix 管理命令分类表
| 命令/工具 | 命令描述 | 使用示例 |
|---|---|---|
| 系统信息命令 | ||
systeminfo |
显示 Windows 系统的详细信息,包括安装的 hotfix(补丁)。 | systeminfo |
| 输出将包括已安装的所有 hotfix 的详细信息,例如 KB 号、安装日期等。 | ||
| Windows 更新命令 | ||
wuauclt /detectnow |
强制 Windows 更新检测当前可用的更新。 | wuauclt /detectnow |
wuauclt /reportnow |
提交计算机的更新状态信息给 Windows 更新服务器。 | wuauclt /reportnow |
wuauclt /updatenow |
强制 Windows 更新安装最新的更新。 | wuauclt /updatenow |
powershell -Command "Get-WindowsUpdateLog" |
查看 Windows 更新日志。此命令生成并显示更新的详细日志文件,帮助诊断更新问题。 | powershell -Command "Get-WindowsUpdateLog" |
| 查看已安装的补丁 | ||
wmic qfe list |
列出所有已安装的更新(hotfix),包括更新的 KB 编号、安装日期等信息。 | wmic qfe list |
wmic qfe list full |
获取已安装更新的详细列表,包括每个 hotfix 的详细信息。 | wmic qfe list full |
wmic qfe where "HotFixID='KBxxxxxxx'" get InstalledOn |
检查特定的 hotfix 是否已安装并显示安装日期。 | wmic qfe where "HotFixID='KB1234567'" get InstalledOn |
Get-HotFix (PowerShell) |
在 PowerShell 中查看已安装的所有 hotfix 的信息。 | Get-HotFix |
| 卸载与删除更新 | ||
wusa /uninstall |
卸载已安装的 Windows 更新。可以通过指定更新的 KB 编号来卸载。 | wusa /uninstall /kb:1234567 |
wusa /quiet |
静默卸载更新,不显示用户界面。 | wusa /uninstall /kb:1234567 /quiet |
| 手动安装更新 | ||
wusa |
手动安装更新,通常用于安装 .msu 格式的 Windows 更新文件。 |
wusa C:\path\to\update.msu |
msiexec /p |
使用 MSI 命令行工具安装补丁(适用于 .msp 文件)。 |
msiexec /p C:\path\to\update.msp |
| Windows 更新服务 | ||
net stop wuauserv |
停止 Windows 更新服务(wuauserv)。 | net stop wuauserv |
net start wuauserv |
启动 Windows 更新服务(wuauserv)。 | net start wuauserv |
| 清除更新缓存 | ||
del %windir%\SoftwareDistribution\Download\* |
清除 Windows 更新下载缓存文件夹。 | del %windir%\SoftwareDistribution\Download\* |
net stop wuauserv && rmdir /s /q %windir%\SoftwareDistribution |
停止更新服务并删除软件分发文件夹,这可以清理 Windows 更新缓存。 | net stop wuauserv && rmdir /s /q %windir%\SoftwareDistribution |
| 查看更新安装历史 | ||
Get-History (PowerShell) |
获取 Windows 更新安装历史记录,查看已安装的更新详情。 | Get-History |
Get-WindowsUpdate (PowerShell) |
使用 PowerShell 获取和管理 Windows 更新,包括列出已安装的更新。 | Get-WindowsUpdate -ListInstalled |
| Windows 更新修复工具 | ||
msdt.exe /id WindowsUpdateDiagnostic |
启动 Windows 更新疑难解答工具,用于自动诊断和修复 Windows 更新相关问题。 | msdt.exe /id WindowsUpdateDiagnostic |
| 查看与安装更新的其他命令 | ||
Get-WindowsUpdate (PowerShell) |
查询并安装所有 Windows 更新。 | Get-WindowsUpdate |
Install-WindowsUpdate (PowerShell) |
使用 PowerShell 自动安装可用的更新。 | Install-WindowsUpdate -AcceptAll |
| 日志与诊断 | ||
Get-WindowsUpdateLog (PowerShell) |
查看 Windows 更新日志,通常用于诊断更新问题。 | Get-WindowsUpdateLog |
Get-WindowsUpdateError (PowerShell) |
获取 Windows 更新错误信息。 | Get-WindowsUpdateError |
说明
systeminfo命令可以用于查看系统的基本信息,包括已安装的 Hotfix。对于需要检查系统补丁安装情况的用户,systeminfo是一个非常基础且实用的命令。wmic qfe list和Get-HotFix等命令提供了查看系统中安装的所有补丁(Hotfix)信息的功能。wusa是 Windows 更新服务的主要命令,支持手动安装或卸载.msu更新文件。msiexec用于通过 MSI(Microsoft Installer)安装或卸载补丁,通常与.msp文件格式配合使用。- PowerShell 提供了强大的脚本支持,能够通过
Get-WindowsUpdate、Install-WindowsUpdate等命令管理更新。 msdt.exe用于启动 Windows 更新疑难解答工具,帮助自动修复更新相关的常见问题。
通过这些命令,用户可以有效地管理和控制 Windows 系统上的更新和 Hotfix,以确保操作系统保持最新的安全性和稳定性。
查看hotfix
`wmic qfe get hotfixid,installedon`
`Get-HotFix`
`wmic qfe list`
`Get-WmiObject -Class Win32_QuickFixEngineering`
`Get-WmiObject -Class "win32_quickfixengineering"`
`systeminfo`
`(New-Object -ComObject Microsoft.Update.Session).CreateUpdateSearcher().Search("IsInstalled=1").Updates | Select-Object Title`

浙公网安备 33010602011771号