Я немного борюсь с проблемой, надеюсь, вы мне поможете.
Я использую get-winevent
, чтобы получить определенные события с компьютера и экспортировать результаты в CSV.
Я устанавливаю переменную для хранения всех возвращенных событий, а затем использую цикл foreach, чтобы пройти по всем событиям и экспортировать их в CSV-файл.
Когда я экспортирую созданный по времени объект, данные форматируются как дата и время, и я могу сортировать самые старые и самые новые или самые новые и самые старые. Я сталкиваюсь с тем, что формат по умолчанию «timecreated» - «MM / DD / YYYY чч: мм». Это вызывает проблему в том, что, если я не вижу секунд и миллисекунд, многие из этих событий происходят одновременно.
Чтобы решить эту проблему, я использовал следующее для форматирования даты:
$ticks = [datetime]$event.timecreated.Ticks
$date = $ticks.Tostring("MM/dd/yyyy hh:mm:ss:fff")
Это хорошо работает, когда я просто вывожу на экран, дата отображается точно так, как я хочу. Однако, поскольку переменная является строкой, когда я экспортирую переменную в Excel, я не могу сортировать по времени.
Кто-нибудь знает способ преобразования тиков в формат отображения, который я хочу, но сохранить его как дату-время, а не строку? Или какой-нибудь способ получить созданный во времени объект и отформатировать его так, как я хочу, без необходимости преобразовывать его в строку?
Я начинаю думать, что мне, возможно, придется создать PSObject
и обработать его таким образом, но я не уверен, что смогу сделать это даже тогда.
Спасибо за чтение.