Назад | Перейти на главную страницу

Используя 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...

Я бы хотел вызвать действие (скажем, запустить второй скрипт), если отметка времени самого последнего события старше одного часа.

Любая помощь будет оценена.

$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 если событие прошло более часа.