Как сравнить дату и время с полем - PullRequest
0 голосов
/ 13 февраля 2020

Я хотел бы взять строковое значение TimeCreated из журнала событий Windows, преобразовать его в пригодный для использования объект даты и времени, а затем выполнить поиск всех подходящих событий в течение минуты +/- скажем, две минуты: Get-WinEvent возвращает дату и время следующим образом:

2/2/2020 09:04:22 AM

Как лучше всего

  1. преобразовать TimeCreated во что-то более полезное (которое также не использует AM / PM) и
  2. сделать сравнение для событий, которые имеют время +/- две минуты этого события (в основном, глядя контекстуально)?

Другими словами, он будет возвращать события, которые имеют значение TimeCreated следующего:

2/2/2020 09:03:27 AM
2/2/2020 09:02:24 AM
2/2/2020 09:05:22 AM

Но если бы TimeCreated был одним из следующих, он НЕ совпадет (за пределами +/- двух минут):

2/2/2020 09:06:27 AM
2/2/2020 09:02:20 AM
2/2/2020 09:08:22 AM

1 Ответ

0 голосов
/ 13 февраля 2020

Похоже, что простой способ сделать это - использовать операторы Where-Object и -lt / -gt:

| ?{ $_.TimeCreated -lt ($event.TimeCreated + "00:02") -and $_.TimeCreated -gt ($event.TimeCreated + "-00:02") }
...