Мы используем Exchange 2010. Я хотел бы получить список всех отправленных и полученных писем от всех пользователей на рабочем месте за 30 дней. В списке должны быть имена всех пользователей, а затем общее количество отправленных и полученных писем.
Я пробовал приведенный ниже пример кода и безуспешно пытался изменить его.
Get-MessageTrackingLog -Recipients user01@yourdomain.com -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” -EventId "receive" | measure-object
Get-MessageTrackingLog -sender user01@yourdomain.com -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” -EventId "send" | measure-object
«По умолчанию максимальный срок хранения любого файла журнала отслеживания сообщений составляет 30 дней» - если вы не изменили настройки журнала отслеживания сообщений по умолчанию, вы вряд ли получите оттуда данные годичной давности (если у вас практически не было сообщений, поэтому ограничение в 10 МБ на файл журнала не было достигнуто более 30 дней в прошлое).
Если вам нужны такие данные для сохранения, измените ограничение максимального возраста / размера каталога для журналов как описано в документах.
Другой момент заключается в том, что журнал отслеживания не содержит информации о пользователях - он просто содержит отправителей и получателей, которые могут или не могут соответствовать фактическим пользователям вашей инфраструктуры.
Помимо этого, вы можете просто передать результат Get-MessageTrackingLog
к group-object
для группировки и подсчета. Для группировки по отправителям это было бы довольно тривиально:
Get-MessageTrackingLog -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” | group-object -Property Sender
Группировка по получателям сложнее, так как поле «Получатели», возвращаемое Get-MessageTrackingLog
является многозначным, т.е. может содержать более одного получателя. Подготовка Select-Object -ExpandProperty
здесь помогает:
Get-MessageTrackingLog -start “10/22/2011 00:00:00” -end “11/21/2011 11:59:00” | select-object -ExpandProperty Recipients | group-object
Набор результатов будет выглядеть примерно так:
Count Name Group
----- ---- -----
44 mail@yourdomain.com {mail@yourdomain.com, mail@yourdomain.com, ...}
11 user1@yourdomain.com {user1@yourdomain.com, user1@yourdomain.com, ...}
36 some.address@foreigndo... {some.address@foreigndomain.com, some.address@for...}
[...]
Не уверен, что вы ищете (все еще), так как я не уверен, где вы находитесь с вопросом и насколько комментарии помогли вам до сих пор, но следующий сценарий помог мне на всем пути:
http://gallery.technet.microsoft.com/office/f2af711e-defd-476d-896e-8053aa964bc5