【问题标题】:Get-WMIobject win32_ntlogevent - Newest 3 eventsGet-WMIobject win32_ntlogevent - 最新的 3 个事件
【发布时间】:2017-01-05 08:16:01
【问题描述】:

有没有办法使用 Get-WMIObject 和 win32_ntlogevent 类从系统事件日志中提取最近的 3 个错误事件?

$log = Get-WMIobject -ComputerName $server -Credential $cred -class win32_ntlogevent -filter "(logfile='system') AND (type='error')" 

我知道Get-EventLog 有一个-Newest 选项,但我在 WMI 中没有看到类似的东西

【问题讨论】:

  • 我很好奇...你为什么不使用Get-EventLog?它比Get-WMIObject 快得多,而且它可以在早期进行过滤,而不是让您稍后对所有数千条记录进行排序。
  • 它不支持从具有单独凭据的远程计算机拉取
  • 然后通过Invoke-Command运行它...
  • 可以在不启用 WinRM 的情况下运行 Invoke-Command 吗?
  • 不是我记得atm。不过,这是你能做的最好的投资。在涉及到 powershell-scripts 时,它现在和以后都会对您有很大帮助。

标签: powershell wmi event-log


【解决方案1】:

想通了

$log | sort TimeGenerated | select -last 3

【讨论】:

  • 这个答案出现在低质量审查队列中,大概是因为您没有解释代码。如果您确实解释了它(在您的回答中),您更有可能获得更多的支持。
【解决方案2】:

不要为此使用 WMI。您的方法将从远程主机检索 all 错误事件(这可能需要相当长的时间),然后在本地主机上拥有所有内容后丢弃除最新的 3 个之外的所有错误事件。使用Get-EventLog,在源头做过滤:

Get-EventLog -LogName 'System' -EntryType 'Error' -Newest 3

【讨论】:

  • Get-EventLog 需要启动远程注册表服务,如果策略说它不是自动启动,Get-Eventlog 会惨遭失败。 Get-WMIObject Win32_NTEventLog 效果更好。
  • 在瘫痪的 Windows 安装中,您需要找到解决方法,是的。并应对我概述的它们的缺点。
【解决方案3】:

我认为 Wmi 查询不支持限制结果。

如果你不顾一切地使用你的命令,这是获得预期输出的最低效的方式 -

Get-WMIobject win32_ntlogevent -filter "(logfile='system') AND (type='error')" | select -first 3

干杯, G

【讨论】:

    【解决方案4】:
    Get-EventLog -LogName 'System' -EntryType 'Error' -Newest 3
    

    WMI 是更有效的方式,它会返回日志名称

    $dt = $cdt = Get-Date;$CUmonth = (get-date).adddays(-30);$eventId = Get-EventLog -ComputerName $SystemlogFqdn -LogName 'System' -EntryType 'Error','Warning' -After $CUmonth;"GetMethod: $((New-TimeSpan $dt ($dt = get-date)).totalseconds)"

    获取方法:163.585552

    $dt = $cdt = Get-Date;PS C:\Users\User> $CUmonth = (get-date).adddays(-30);PS C:\Users\User> $eventID = Get-WmiObject Win32_NTLogEvent -ComputerName $SystemlogFqdn -filter "(logfile='system' AND Type <> 'Information' AND TimeWritten >= '$CUmonth')";PS C:\Users\User> "WMIMethod: $((New-TimeSpan $dt ($dt = get-date)).totalseconds)"

    WMI 方法:63.49941

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-28
      • 2016-11-29
      • 2017-11-13
      • 2021-07-02
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      相关资源
      最近更新 更多