问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

将事件查看器日志文件移动到另一个位置

创作时间:
作者:
@小白创作中心

将事件查看器日志文件移动到另一个位置

引用
1
来源
1.
https://learn.microsoft.com/zh-cn/troubleshoot/windows-server/application-management/move-event-viewer-log-files

本文介绍如何将Windows Server 2016和2019的事件查看器日志文件移动到硬盘上的另一个位置。这对于需要更多磁盘空间来记录数据的场景非常有用。

Windows Server记录以下日志中的事件:

  • 应用程序日志:包含由程序记录的事件。写入应用程序日志的事件由软件程序的开发人员确定。
  • 安全日志:包含有效和无效登录尝试等事件。它还包含与资源使用相关的事件,例如,创建、打开或删除文件时。必须以管理员身份或管理员组的成员登录才能打开、使用以及指定安全日志中记录的事件。
  • 系统日志:包含由Windows系统组件记录的事件。这些事件由Windows预先确定。
  • 目录服务日志:包含与Active Directory相关的事件。此日志仅适用于域控制器。
  • DNS服务器日志:包含与INTERNET协议(IP)地址的DNS名称解析相关的事件。此日志仅在DNS服务器上可用。
  • 文件复制服务日志:包含域控制器之间的复制过程中记录的事件。此日志仅适用于域控制器。

默认情况下,事件查看器日志文件使用.evt扩展名,并且位于%SystemRoot%\System32\winevt\Logs文件夹中。日志文件名称和位置信息存储在注册表中。可以通过编辑注册表信息来更改日志文件的默认位置。

在另一个位置创建事件日志文件夹

创建要将事件日志存储在本地驱动器中的文件夹,并分配正确的权限。步骤如下:

  1. 创建文件夹(例如C:\EventLogs)。
  2. 右键单击该文件夹并选择“属性”。
  3. 选择“安全”选项卡,然后选择“高级”以获取特殊权限或高级设置。
  4. 默认情况下,该文件夹已启用“继承”。
  5. 选择“更改”以将所有者更改为SYSTEM,然后选择“禁用继承”。系统将提示你转换或删除继承的权限。选择“将继承的权限转换为对此对象的显式权限”,你将看到对该文件夹显式设置的权限。
  6. 若要为日志创建子文件夹,请使用此对象选项中的可继承权限条目检查“替换所有子对象权限条目”。父级设置的权限将应用于所有子文件夹和文件。
  7. 调整权限,以便为文件夹分配正确的权限,并检查“应用于”列。这些权限应与存储事件查看器日志的默认文件夹(%SystemRoot%\System32\winevt\Logs)的高级权限相同。确保“经过身份验证的用户”仅对此文件夹和子文件夹具有“读取”权限。
  8. 若要添加EventLog用户,请转到属性对话框的“安全性”选项卡,然后按照以下步骤操作:
  • 选择“编辑>添加”。
  • 选择“位置”,选择本地计算机名称,然后选择“确定”。
  • 在“输入对象名称”中键入NT SERVICE\EventLog以选择并选择“检查名称”。名称应解析为EventLog。选择“确定”,以完成操作。
  1. 请确保在EventLog用户的EventLog权限下选择了“完全控制”。

将事件查看器日志文件移动到另一个位置

可以使用事件查看器将日志文件移动到创建的文件夹中,如下所示:

  1. 打开“事件查看器”。
  2. 在左窗格中的Windows日志下右键单击日志名称(例如系统),然后选择“属性”。
  3. 将日志路径值更改为已创建文件夹的位置,并将日志文件名称保留在路径末尾(例如C:\EventLogs\System.evtx)。
  4. 选择“清除日志”,然后选择“保存”和“清除”以将事件日志文件保留在其他位置。
  5. 选择“应用”>“确定”。

注意:检查已将事件日志移动到的文件夹。如果事件日志不在文件夹中,请重启系统。

可以使用注册表编辑器确认日志路径已更新。例如,转到以下注册表路径并检查文件值的值数据。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\System

使用Powershell移动事件查看器日志文件

出于此目的,可以使用Powershell。在示例中,安全事件日志将迁移到C:\Logs:

$originalFolder = "$env:SystemRoot\system32\winevt\Logs"
$targetFolder = "C:\logs"
$logName = "Security"
$originalAcl = Get-Acl -Path $originalFolder -Audit -AllCentralAccessPolicies
Set-Acl -Path $targetFolder -AclObject $originalAcl -ClearCentralAccessPolicy
$targetAcl = Get-Acl -Path $targetFolder -Audit -AllCentralAccessPolicies
$targetAcl.SetOwner([System.Security.Principal.NTAccount]::new("SYSTEM"))
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\$logName" -Name "AutoBackupLogFiles" -Value "1" -PropertyType "DWord"
New-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\$logName" -Name "Flags" -Value "1" -PropertyType "DWord"
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\$logName" -Name "File" -Value "$targetFolder\$logName.evtx"

参考

有关如何在事件查看器中查看和管理日志的详细信息,请参阅如何删除损坏事件查看器日志文件。若要了解有关常规事件查看器用法的详细信息,请选择事件查看器中的“操作”菜单,然后选择“帮助”。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号