У нас есть сервер, на котором работает наше программное обеспечение для резервного копирования, и это программное обеспечение имеет собственный журнал событий. Я могу получить самую последнюю запись журнала событий с помощью этой команды:
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
если событие прошло более часа.