Интересно, можешь ли ты мне помочь? Я пытаюсь извлечь список получателей, которые отправили электронные письма самим себе (из домена1 в домен2) с помощью инструмента get-messagetrackinglog в Exchange. Мой маленький сценарий, кажется, прекрасно работает с отправителем, однако после нескольких дней размышлений я не могу заставить его работать с получателями. Я подозреваю, что это потому, что может быть много получателей (в отличие от только одного отправителя) для каждого электронного письма, и это требует, чтобы массив был назначен переменной получателей, однако, будучи новичком в powershell, я не совсем уверен, как это сделать и как пропустить это. Логика следующая:
a) Я хочу использовать команду split для разделения всех отправителей (с помощью разделителя пробелов) и извлечения их в массив,
б) затем отсоединить первые части адресов отправителя и получателя от доменов с помощью @ delimiter и
c) сравните их первую часть адресов электронной почты, которые я получил (значения, возвращаемые adam @ domain1 и adam @ domain2).
г) Если они совпадают - мне нужно экспортировать результаты сообщения электронной почты в .csv.
Я получил это далеко:
Get-MessageTrackingLog -server "pdnaex1" -EventID "SEND" -start "01/10/2010 00:00:00" -end "31/10/2010 23:59:59" -resultsize Unlimited | Где {[string] $ .sender.split ("@") [0] -подобно [string] $ .recipients.split ("@") [0]} | Выберите отметку времени, @ {Name = "Отправитель"; Выражение = {$ .sender}}, @ {Name = "Получатели"; Выражение = {$ .recipients}}, messagesubject | export-csv X: \ XXX.csv
Я знаю, что выше это неправильно, но надеюсь, я проясню свой вопрос.
Любая помощь очень ценится. Я подозреваю, что мой скрипт не работает, потому что мне не удается заполнить массив получателей и сравнить значение отправителя с каждой записью в этом массиве, но я не могу понять, как это сделать.