Все,
Мне нужно определить, были ли электронные письма отправлены на внешний адрес с нашего сервера Exchange. К сожалению, конкретного отправителя для таргетинга нет, так как на этот внешний адрес может быть несколько человек.
Я покопался, но, к сожалению, не могу найти работающего сценария. Я пробовал несколько сценариев, основанных на нескольких статьях (сменил адрес электронной почты пользователей на фиктивный ниже). Буду признателен за любой совет. Спасибо.
Get-MessageTrackingLog –ResultSize Unlimited | Where -Property Recipients -Like
“suspectacct@gmail.com”
или
Get-MessageTrackingLog -Recipients suspectacct@gmail.com
....
Вы, кажется, смешиваете Get-MessageTrackingLog
параметры (-Property) с Where-Object
командлет. Итак, мы вернем это в Get-MessageTrackingLog
часть единственного лайнера (если Recipients
- свойство по умолчанию, оно нам совсем не нужно). Тогда мы можем использовать Recipients
в Where-Object
фильтр.
Сначала подтвердите, что Recipients
не является свойством по умолчанию, используйте:
Get-MessageTrackingLog | Get-Member
Если это не так, используйте:
Get-MessageTrackingLog –ResultSize Unlimited -Property Recipients |
Where Recipients -Like “suspectacct@gmail.com”
В противном случае, если это свойство по умолчанию, используйте:
Get-MessageTrackingLog –ResultSize Unlimited |
Where Recipients -Like “suspectacct@gmail.com”
Эта команда получит все журналы отслеживания сообщений и направит их в команду where-object, включая свойство Recipients. В Where-Object
будет искать сообщения с получателями, включая "suspectacct@gmail.com".
docs.microsoft справочник по Get-Object
.
-ResultSize Unlimited
даст вам очень большой набор данных. Настоятельно рекомендую использовать некоторые другие свойства, чтобы ограничить его.
docs.microsoft справочник по Get-MessageTrackingLog
Краткое изложение параметров показывает, что существует параметр, позволяющий указать получателей. Названный -Recipients
. Таким образом, вы можете упростить это до:
Get-MessageTrackingLog -ResultSize Unlimited -Recipients "suspectacct@gmail.com*"
Если это сработает, это будет значительно эффективнее по времени и процессору, чем полный дамп, и это именно то, что Get-MessageTrackingLog -ResultSize Unlimited
без ограничений дам.
Я обнаружил что Where-Ojbect
он же where
является одним из самых мощных командлетов в PowerShell, наряду с командлетами импорта / экспорта CSV и Get-Help
и Get-Member
.