Группа Get-Eventlog по событию и дню

Get-EventLog -Logname system -Source "Microsoft-Windows-GroupPolicy" -EntryType "Information"| group-object -property source | sort-object -property Time -descending

Он группирует все вместе и считает, но я хочу, чтобы счет был также по дням.

Результаты будут такими:

02.10.2015 10 Microsoft-Windows......
04.11.2016 2  Microsoft-Windows.....
08.11.2016 13 Microsoft-Windows......

и так далее.

Как я могу получить разделение даты там?


person Thevagabond    schedule 19.08.2016    source источник


Ответы (1)


Вы можете сгруппировать по двум разным свойствам, и мы можем создать свойство, чтобы хранить день в виде строки.

Get-EventLog -Logname system -Source "Microsoft-Windows-GroupPolicy" -EntryType "Information" |
    Add-Member Day -MemberType ScriptProperty -Value { $this.TimeGenerated.ToString('dd.MM.yyyy') } -PassThru |
    Group-Object 'Day', 'Source'
person Chris Dent    schedule 19.08.2016
comment
Вау, отлично, как раз то, что мне было нужно, теперь мне просто нужно понять, что вы там сделали :-) - person Thevagabond; 19.08.2016
comment
Для каждого события мы добавляем новое вычисляемое свойство, которое будет хранить дату в виде форматированной строки. Сначала он группирует все по вычисляемому свойству Day, а затем по источнику события. $this — это специальная переменная, используемая для доступа к тому, к чему мы добавили свойство, поэтому небольшой блок скрипта специфичен для каждого события. - person Chris Dent; 19.08.2016