Необходимо автоматически очищать лог файл от старых данных в Powershell
Необходимо удалять из файла с логами строки с данными более чем за 3 последних месяца по столбцу 'Server Started', в котором следующий формат даты: '20200812T020517.000+0300'
Нужно отфильтровать столбец с заголовком Server Started по текущему времени, оставить строки за последние 3 месяца и сохранить в новый файл. Не получается реализовать на PS.
Пример строки прикладываю. Заранее спасибо!

Ответы (1 шт):
Автор решения: OlegK
→ Ссылка
Что именно не получается? Дату можно конвертировать
$example = '20200812T020517.000+0300'
$ResultConvert = [DateTimeOffset]::ParseExact($example.Replace('.000+0300',''),"yyyyMMddThhmmss",[CultureInfo]::InvariantCulture).UtcDateTime
Write-Output $ResultConvert
11 августа 2020 г. 23:05:17
$DateNow = [DateTimeOffset]::UtcNow.UtcDateTime
$Filter = ($DateNow - $ResultConvert).Days
Write-Output $Filter
48
Далее можно затянуть файл через import-csv пройтись циклом(конвеером) по столбцу и отобрать только те строки, которые подходят под условие (