分享

Get

 xiaozhuang 2019-06-03

为什么会有Get-EventLog和Get-WinEvent两条命令?Get-EventLog能查询到的,能用Get-WinEvent查到吗?反之呢?是不是事件日志中记录的所以事件都能通过Get-EventLog获取?

从MSDN的解释来看

  1. Get-EventLog
    获取本地或远程计算机上的事件日志事件日志列表中的事件。

  2. Get-WinEvent
    从本地和远程计算机上的事件日志事件跟踪日志文件中获取事件。

从这一点来看Get-WinEvent比Get-EventLog的功能更广泛,多了一个“事件跟踪日志”。

从命令返回的对象来看

  1. Get-WinEvent返回的是System.Diagnostics.Eventing.Reader.EventLogRecord

  2. Get-EventLog返回的是System.Diagnostics.EventLogEntry

比如我想查看近期系统的开机和关机时间。

用Get-EventLog 出错

PS> Get-EventLog System -InstanceId 6005
Get-EventLog : 未找到匹配项
所在位置 行:1 字符: 1
+ Get-EventLog System -InstanceId 6005
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (:) [Get-EventLog], ArgumentException
    + FullyQualifiedErrorId : GetEventLogNoEntriesFound,Microsoft.PowerShell.Commands.GetEventLogCommand

用Get-WinEvent则可以

PS> Get-WinEvent -FilterHashtable @{Logname='system';Id='6005'}


   ProviderName:EventLog

TimeCreated                     Id LevelDisplayName Message
-----------                     -- ---------------- -------
2014/8/19 19:13:45            6005 信息             事件日志服务已启动。
2014/8/17 9:52:32             6005 信息             事件日志服务已启动。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章