解决 PowerShell Get-WindowsUpdateLog 报错:No Windows Update ETL file

13次阅读
没有评论

在 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% 的情况是第一个

  1. 系统从未执行过 Windows 更新(全新安装的 Windows / 服务器,从未检查 / 下载过更新,系统根本没有生成 ETL 日志);
  2. ETL 日志文件被手动删除、磁盘清理工具清理;
  3. 日志目录权限异常(极少出现)。

二、解决方案(一步到位)

方案 1:触发 Windows 更新,自动生成 ETL 日志(推荐)

这是最根本、最有效的解决方法 ——让系统生成缺失的 ETL 日志,操作分两种方式:

方式 1:图形界面操作(适合新手)

  1. 打开 设置Windows 更新(服务器版为 服务器管理器本地服务器Windows 更新);
  2. 点击 检查更新
  3. 等待系统扫描完成(无需安装更新,仅扫描即可)。

✅ 扫描完成后,系统会自动在 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 更新的详细日志。


四、补充知识点

  1. 命令作用Get-WindowsUpdateLog 是 Windows 内置模块,无需额外安装,专门用于将二进制 ETL 更新日志转换为可读文本。
  2. 默认路径
    • 原始 ETL 日志:C:\Windows\logs\WindowsUpdate
    • 转换后文本日志:桌面 \WindowsUpdate.log
  3. 适用系统Windows 10 1709+、Windows 11、Windows Server 2016+(旧版 Windows 7/2012 直接有文本日志,无需此命令)。

总结

Get-WindowsUpdateLog 报错 No Windows Update ETL file本质就是没有 ETL 日志文件

✅ 终极解决办法:触发一次 Windows 更新扫描,让系统自动生成日志,再重新执行转换命令即可。

如果你的 Windows 更新出现异常,这个转换后的日志,也是排查更新失败、安装错误的核心依据!

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)
验证码