使用 Powershell,如果最近的事件日志事件超过一小时,则触发操作

使用 Powershell,如果最近的事件日志事件超过一小时,则触发操作

我们有一台运行备份软件的服务器,该软件有自己的事件日志。我可以使用以下命令检索最新的事件日志条目:

Get-EventLog EventLogName -ComputerName server.example.com -newest 1

这给了我如下结果:

Index Time          EntryType   Source                InstanceID Message
----- ----          ---------   ------                ---------- -------
64292 Aug 13 15:51  Information BackupSoftware             29593 Transfer of 1096 KB...

我想要做的是,如果最近事件的时间戳超过一小时,则触发一个动作(例如,启动第二个脚本)。

任何帮助,将不胜感激。

答案1

$Event = Get-EventLog Application | ? { $_.Source -EQ 'BackupSoftware' } | Sort Time | Select -Last 1
If($Event.Time -LT (Get-Date).AddHours(-1)) 
{ 
     Do-Stuff 
}

这将在应用程序日志中找到来源为“BackupSoftware”的最新事件。

$Event = Get-EventLog BackupSoftware | Sort Time | Select -Last 1
If($Event.Time -LT (Get-Date).AddHours(-1)) 
{ 
     Do-Stuff 
}

这将在名为 BackupSoftware 的自定义日志中找到最新的事件,无论来源或 EventId 如何。

Do-Stuff在这两种情况下,如果事件发生已超过一小时,脚本就会执行。

相关内容