Я создал скрипт, который возвращает письма с указанными c адресами электронной почты субъекта и отправителя,
У меня есть массив писем, и мне нужно сравнить каждый элемент массива с отправителем электронной почты и записать вывод для разрешенных отправители и, если найдено, напишите вывод для запрещенных
$sender = $result.Sender.Address - exports senders for each email
$allowed_senders = @("user1@example.com", "user2@example.com") - users who are allowed to send emails
У меня есть 3 электронных письма со следующими отправителями:
user1, user2 и user3
write-output "Searching for emails with subject New Empoyee.." | timestamp >> $LogFile
Write-Verbose "Searching for emails with subject New Empoyee.."
$searchfilter = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+ContainsSubstring([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::Subject,"New Employee")
$itemView = new-object Microsoft.Exchange.WebServices.Data.ItemView(999)
$searchResults = $service.FindItems($Folder.ID, $searchfilter, $itemView)
# Find destination folder
$TargetFolderSearch = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.FolderSchema]::Displayname,"done") #for each folder in mailbox define search
$TargetFolder = $MailboxRoot.FindFolders($TargetFolderSearch,$fvFolderView)
Write-Verbose "Searching for emails with subject New Empoyee finished"
write-output "Searching for emails with subject New Empoyee finished" | timestamp >> $LogFile
write-output "Parsing Email Body..." | timestamp >> $LogFile
Write-Verbose "Parsing Email Body..."
$allowed_senders = @("user1@example.com", "user2@example.com")
foreach($result in $searchResults){
$sender = $result.Sender.Address
if ($array -notcontains $allowed_senders){
Write-Verbose "$sender is not allowed"
}
else{
Write-Verbose "$sender is allowed"
}
}
user3@example.com отсутствует в массиве, поэтому я ожидаю следующий вывод
Ожидаемый вывод:
user3@example.com не разрешен
user1@example.com разрешен
user2@example.com разрешено
Фактический вывод:
user1@example.com не разрешено
user2@example.com не разрешено
user3@example.com не допускается