我使用Get-EventLog读取事件。使用此cmdlet,我可以成功地读取系统和安全事件日志。我还可以通过发出以下命令列出所有可用的日志:
Get-EventLog -LogName * | Select-Object -Property Log输出:
Log
---
Application
HardwareEvents
Internet Explorer
Key Management Service
OAlerts
Parameters
Security
State
System
Windows PowerShell但是,这个列表并不包含在应用程序和服务日志下可以找到的所有日志,例如:我想从这个路径读取事件,这些事件可以在事件查看器中遍历
Applications and Services Logs > Microsoft > Windows > DNS-Server > Analytical我在Windows DNS服务器上执行此操作,在View下启用了Show和Debug日志,并为DNS-Server配置和启用了分析日志。
发布于 2021-03-08 14:55:15
Tl;dr:
相反,使用Get-WinEvent并添加-Oldest参数:
Get-WinEvent -LogName Microsoft-Windows-DNSServer/Analytical -OldestGet-EventLog是读取Windows日志的遗留cmdlet,它不能用于读取所有可用的事件日志(请参阅此cmdlet文档中的说明):
Get-EventLog使用不推荐的Win32 API。结果可能不准确。使用Get-WinEventcmdlet代替。
使用Get-WinEvent,您可以使用Get-WinEvent -ListLog *列出所有可用日志,也可以对所有DNS相关日志进行筛选:
Get-WinEvent -ListLog *DNS* | Select-Object -Property LogName输出:
LogName
-------
DNS Server
Microsoft-Windows-DNS-Client/Operational
Microsoft-Windows-DNSServer/Audit添加-Force参数以查看调试和分析事件:
LogName
-------
DNS Server
Microsoft-Windows-DNS-Client/Operational
Microsoft-Windows-DNSServer/Analytical
Microsoft-Windows-DNSServer/Audit可以通过将这些名称传递给-LogName参数来读取这些事件:
Get-WinEvent -LogName Microsoft-Windows-DNSServer/Audit当试图读取Microsoft-Windows-DNSServer/Analytical日志时,您将得到一个错误:
Get-WinEvent : The Microsoft-Windows-DNSServer/Analytical event log can be read only in the forward chronological order because it is an analytical or a debug log. To see events from the Microsoft-Windows-DNSServer/Analytical event log, use the Oldest parameter in the command.因此,只要添加-Oldest,就可以了:
Get-WinEvent -LogName Microsoft-Windows-DNSServer/Analytical -Oldesthttps://stackoverflow.com/questions/66532033
复制相似问题