在 Windows 10/11、Windows Server 2016/2019/2022 中,微软将Windows 更新日志从传统的文本格式,改为了ETL(事件跟踪日志)二进制格式。
我们无法直接阅读 ETL 日志,必须使用 PowerShell 自带的 Get-WindowsUpdateLog 命令,将其转换为可读的文本日志。但很多朋友执行命令时,会遇到如下报错:
powershell
Converting C:\Windows\logs\WindowsUpdate into C:\Users\Administrator\Desktop\WindowsUpdate.log ...
File not found: No Windows Update ETL file under C:\Windows\logs\WindowsUpdate
所在位置 C:\Windows\system32\WindowsPowerShell\v1.0\Modules\WindowsUpdate\WindowsUpdateLog.psm1:60 字符: 17
+ ... throw "File not found: No Windows Update ETL file under $ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : OperationStopped: (File not found:...s\WindowsUpdate:String) [], RuntimeException
+ FullyQualifiedErrorId : File not found: No Windows Update ETL file under C:\Windows\WindowsUpdate
今天这篇文章,就带你彻底搞懂报错原因,并提供一键解决方法。
一、报错核心原因
这个错误翻译过来就是:
在路径
C:\Windows\logs\WindowsUpdate下,找不到 Windows 更新的 ETL 日志文件
根本原因只有 3 个,99% 的情况是第一个:
- 系统从未执行过 Windows 更新(全新安装的 Windows / 服务器,从未检查 / 下载过更新,系统根本没有生成 ETL 日志);
- ETL 日志文件被手动删除、磁盘清理工具清理;
- 日志目录权限异常(极少出现)。
二、解决方案(一步到位)
方案 1:触发 Windows 更新,自动生成 ETL 日志(推荐)
这是最根本、最有效的解决方法 ——让系统生成缺失的 ETL 日志,操作分两种方式:
方式 1:图形界面操作(适合新手)
- 打开 设置 → Windows 更新(服务器版为 服务器管理器 → 本地服务器 → Windows 更新);
- 点击 检查更新;
- 等待系统扫描完成(无需安装更新,仅扫描即可)。
✅ 扫描完成后,系统会自动在 C:\Windows\logs\WindowsUpdate 目录下生成 ETL 日志文件。
方式 2:PowerShell 命令(适合运维 / 远程操作)
以管理员身份打开 PowerShell,执行以下命令强制检查 Windows 更新:
powershell#
(New-Object -ComObject Microsoft.Update.AutoUpdate).DetectNow()
执行完成后,等待 10 秒,日志文件就会自动生成。
方案 2:修复日志目录(极少场景)
如果日志目录 C:\Windows\logs\WindowsUpdate 被删除,手动重建即可:
powershell#
New-Item -Path "C:\Windows\logs\WindowsUpdate" -ItemType Directory -Force
重建后,再执行方案 1触发更新扫描。
三、验证修复:重新生成日志
日志文件生成后,再次执行转换命令:
powershell
Get-WindowsUpdateLog
执行成功后,会输出:
powershell
Converting C:\Windows\logs\WindowsUpdate into C:\Users\Administrator\Desktop\WindowsUpdate.log ...
Successfully generated the log file.
此时桌面会生成 WindowsUpdate.log 文本文件,直接打开即可阅读 Windows 更新的详细日志。
四、补充知识点
- 命令作用
Get-WindowsUpdateLog是 Windows 内置模块,无需额外安装,专门用于将二进制 ETL 更新日志转换为可读文本。 - 默认路径
- 原始 ETL 日志:
C:\Windows\logs\WindowsUpdate - 转换后文本日志:桌面 \WindowsUpdate.log
- 原始 ETL 日志:
- 适用系统Windows 10 1709+、Windows 11、Windows Server 2016+(旧版 Windows 7/2012 直接有文本日志,无需此命令)。
总结
Get-WindowsUpdateLog 报错 No Windows Update ETL file,本质就是没有 ETL 日志文件。
✅ 终极解决办法:触发一次 Windows 更新扫描,让系统自动生成日志,再重新执行转换命令即可。
如果你的 Windows 更新出现异常,这个转换后的日志,也是排查更新失败、安装错误的核心依据!