我们有一台运行备份软件的服务器,该软件有自己的事件日志。我可以使用以下命令检索最新的事件日志条目:
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
在这两种情况下,如果事件发生已超过一小时,脚本就会执行。