当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何禁用 Outlook 日志记录并删除 ETL 文件

作者:精品下载站 日期:2024-12-14 18:54:52 浏览:13 分类:玩电脑

如何禁用 Outlook 日志记录并删除 ETL 文件


Outlook 附带了日志记录功能,主要用于解决与 Outlook 相关的问题。但打开后,Outlook 日志记录会消耗大量磁盘空间。那么我们如何禁用它并清理日志文件呢?

Outlook 中的日志记录功能很少使用,因此建议默认关闭该功能。在排除 Outlook 相关问题时,您应该只在短时间内启用它。即使它被关闭,我也见过很多仍然生成日志文件的情况。

在本文中,我将解释如何关闭 Outlook 日志记录功能,向您展示防止生成 ETL 日志文件的技巧,并解释如何使用 PowerShell 轻松删除日志文件。

什么是 Outlook 日志记录

当您在 Outlook 中遇到未发送电子邮件的返回问题或其他问题时,您可以在 Outlook 中启用故障排除日志记录功能。这将生成一个日志文件,该文件存储在本地 appdata 临时文件夹 %temp%\Outlook Logging 中。该文件通常名为 OPMLog.log,可以使用记事本打开,并显示 Outlook 发送和接收邮件所执行的所有步骤的事务日志。

可以在 Outlook 中启用事务日志:

  1. 单击文件> 选项

  2. 选择高级并向下滚动一点

  3. 选中启用故障排除日志记录以启用事务日志

[玩转系统] 如何禁用 Outlook 日志记录并删除 ETL 文件

您需要重新启动 Outlook 才能启用事务日志。启用该功能后,当您打开 Outlook 时,您将在右下角收到一条警告,表明日志记录已启用。

[玩转系统] 如何禁用 Outlook 日志记录并删除 ETL 文件

要查看日志文件,请打开资源管理器并导航到 %temp%\Outlook Logging。在这里您将找到包含事务日志的 OPMLog.log 文件。

Outlook 日志记录中的 ETL 文件

除了普通的 .log 文件之外,您可能还会在该文件夹中找到 .ETL 文件。这些文件包含由 Windows 系统内核生成的事件日志。 ETL 文件用于分析和解决应用程序级问题。可以使用右侧的导入功能通过事件查看器打开文件。但你不会从中获得太多有用的信息。

ETL 文件的问题是它们非常大,通常每个 51.200KB,并且它们不会被自动清理。因此,这很容易导致过时的日志文件使用多个 GB 的磁盘空间。

[玩转系统] 如何禁用 Outlook 日志记录并删除 ETL 文件

目前尚不清楚为什么会生成这些文件。这绝对与 Outlook 中的故障排除日志记录功能无关。我看到一些报告称 Outlook 中未配置邮箱可能会导致创建 ETL 日志文件。在这些情况下,客户端在 Outlook 中配置了多个邮箱,其中之一无法再访问。从 Outlook 配置文件中删除有问题的邮箱解决了该问题。

但目前普遍的感觉是,这只是 Outlook 中的一个错误,微软尚未解决。

禁用 Outlook 日志记录的所有选项

因此,在删除 ETL 文件之前,请确保已选中禁用 Outlook 日志记录的每个选项。我们将检查以下选项:

  • 在 Outlook 选项中禁用故障排除日志记录

  • 检查并设置几个注册表项

  • 禁用企业日志记录

  • 检查组策略

禁用故障排除日志记录

第一个也是最明显的步骤是禁用 Outlook 选项中的故障排除日志记录功能。

  1. 打开Outlook

  2. 单击文件> 选项

  3. 选择高级并向下滚动一点

  4. 取消选中启用故障排除日志记录以禁用日志记录

[玩转系统] 如何禁用 Outlook 日志记录并删除 ETL 文件

检查并设置几个注册表项

我们可以使用几个注册表项来启用或禁用日志记录功能。按 Windows 键 + R 打开 Windows 注册表,输入 regedit,,然后按 enter

导航到 HKEY_CURRENT_USER\Software\Microsoft\Office .0\Outlook\Options\Mail
,并确保值 EnableLogging 设置为 0 或不设置存在。

我们还可以添加 EnableETWLogging 并将其设置为 0,符合此支持文章,但这也不会停止 ETL 文件的创建。

[玩转系统] 如何禁用 Outlook 日志记录并删除 ETL 文件

导航到 Computer\HKEY_CURRENT_USER\Software\Microsoft\Office .0\Outlook\Logging
,创建一个名为 DisableDefaultLogging 的新 DWORD_32Bit 值,并将其设置为 1

禁用企业日志记录

企业日志记录比 Outlook 中的普通日志记录选项收集更多信息。为了确保未配置企业日志记录,我们需要检查现有并删除以下注册表项:

Computer\HKEY_CURRENT_USER\Software\Microsoft\Office .0\Common\Logging
确保删除以下值:EnableLogging

检查组策略

还可以使用组策略启用故障排除日志。 IT 部门使用组策略轻松管理域中所有计算机上的设置。如果您的计算机不属于域,则无需检查该设置。

您可以在中设置日志记录策略

用户配置\策略\管理模板\Microsoft Outlook 2016\Outlook 选项\其他\高级

确保未配置或禁用启用邮件日志记录(故障排除)

防止生成 ETL 文件

我已经测试了上面的所有选项,甚至更多,但打开 Outlook 时仍然会生成 ETL 文件。然而,有一个选项(技巧)可以阻止 Outlook 创建 ETL 文件。

  1. 打开本地 AppData 文件夹(在资源管理器中输入 %localappdata%

  2. 打开Temp文件夹

  3. 删除文件夹Outlook 日志记录

  4. 创建一个新的文本文件并将其命名为Outlook Logging。确保从文件名中删除扩展名 .txt

[玩转系统] 如何禁用 Outlook 日志记录并删除 ETL 文件

这样,Outlook 将无法创建“Outlook Logging”文件夹,也无法写入 ETL 文件。删除该文件夹似乎不会导致 Outlook 出现任何其他问题。

清理 Outlook 日志记录脚本

我们可以使用 PowerShell 快速删除客户端中的所有 ETL 文件甚至整个 Outlook Logging 文件夹。下面的脚本将遍历所有用户的文件夹,检查该文件夹是否存在,然后将其删除。

删除内容后,它将创建“虚拟”文件以防止创建新的 ETL 文件。

# Get all Users
$Users = Get-ChildItem -Path "$($ENV:SystemDrive)\Users"

# Process all the Users
$Users | ForEach-Object {
      Write-Host "Processing user: $($_.Name)" -ForegroundColor Cyan
      $path = "$($ENV:SystemDrive)\Users$($_.Name)\AppData\Local\Temp\Outlook Logging\"

      If (Test-Path $path) {
        Write-host "Removing log files from $path" -ForegroundColor Cyan
        Remove-Item -Path $path -Recurse

        Write-host "Creating dummy file to prevent log files" -ForegroundColor Cyan
        New-Item -Path "$($ENV:SystemDrive)\Users$($_.Name)\AppData\Local\Temp" -Name "Outlook Logging" -ItemType File
      }
}

要运行 PowerShell 脚本,请将其复制到 PowerShell ISE 或使用此处说明的其他选项之一来运行 PowerShell 脚本。

总结

为什么 Outlook 不断创建 ETL 文件仍不清楚。即使设置正确的注册表项也不会阻止 Outlook 创建文件。 ETL 文件的问题从 2022 年初开始。目前,该问题仍没有永久解决方案。

如果您对此有任何提示或疑问,请在下面发表评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯