Экспорт журналов Windows с точным временем - PullRequest
0 голосов
/ 06 декабря 2018

Я пытаюсь экспортировать журналы Windows с помощью командлета Get-WinEvent Powershell.Следующее даст мне точность времени, которую я ищу, но это даст мне только метку времени.Мне нужно присоединить метку времени к другим столбцам, которые включают имя машины, идентификатор события и т. Д.

Этот код возвращает мне точные метки времени.

  Get-WinEvent -LogName Application -MaxEvents 10 | Select-Object -Expand TimeCreated | ForEach-Object { 
$date = [DateTime]$_
$date.ToString("yyyy-MM-dd HH:mm:ss")}

Вывод выглядит так, чтоэто то, что я хочу:

2018-12-06 08:52:28 
2018-12-06 08:52:28 
2018-12-06 08:51:32 
2018-12-06 08:51:31 
2018-12-06 08:51:31 
2018-12-06 08:51:31 
2018-12-06 08:51:31
2018-12-06 08:51:31 
2018-12-06 08:51:31 
2018-12-06 08:44:16

Но мне нужно, чтобы вывод включал как точное время, так и такие вещи, как MachineName, EventID, LevelDisplayName, Message и т. д. Поэтому в приведенной ниже команде вместо «TimeCreated»Я хочу указать точное время.

Get-WinEvent -LogName Application -MaxEvents 10 | Select-Object TimeCreated,Machinename,Id,LevelDisplayName,Message,Logname | ft

Спасибо!

1 Ответ

0 голосов
/ 06 декабря 2018

Чтобы получить точное форматирование для TimeCreated, используйте вычисляемое свойство

Get-WinEvent -LogName Application -MaxEvents 10 |
   Select-Object @{n='TimeCreated';e={$_.TimeCreated.ToString("yyyy-MM-dd HH:mm:ss")}},
                 Machinename,Id,LevelDisplayName,Logname,Message|Format-Table -auto

. Для большей точности вы также можете включить доли секунд
(добавить ,f .. ,fffffff к форматустрока)

РЕДАКТИРОВАТЬ: у меня нет вашей среды, но запись-хост не должен быть необходим.

Это должно вывести отформатированный CreatedTime в CSV

Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-SessionBroker/Operational" `
             -ComputerName $SessionBroker -MaxEvents 150 | 
  Select-Object @{n='TimeCreated';e={$_.TimeCreated.ToString("yyyy-MM-dd HH:mm:ss")}}, 
                Machinename,Id,LevelDisplayName,Message,LogName,TaskDisplayName | 
    Export-Csv $RDSLogs\SessionBrokerOperational.csv -Append -NoTypeInformation
...