循环搜索邮箱

问题描述

我需要根据主题行在邮箱中搜索电子邮件,并报告该电子邮件是否在收件箱或其他文件夹中。以下代码适用于个人用户

Search-MailBox -Identity "test@example.com" -SearchQuery ‘Subject:”SUSPECT email alert”‘ -TargetMailBox “admin” -TargetFolder “inBox”-logonly -LogLevel Full

收到的报告会说明电子邮件是否在该特定邮箱和位置中。这对一个用户来说非常好,但我需要为 500 多个用户执行此操作。

我有一个包含电子邮件地址列表的 csv 文件,我需要检查此特定电子邮件及其位置。所以我已经将 csv 文件导入到一个变量中。然后将命令放入 foreach 循环中,但无法正常工作。 更正:更新到 txt 文件一个使用过的获取内容

$users = Get-Content -Path userslist.txt
foreach ($user in $users) {
Search-MailBox $user -SearchQuery ‘Subject:”SUSPECT email alert”‘ -TargetMailBox “admin” -TargetFolder “inBox”-logonly -LogLevel Full }

如何遍历用户列表,以便我可以获取一份报告,而不是针对每个用户单独获得一份报告。任何想法都会很棒。

解决方法

问题在于 csv 文件格式。导入的文本文件和循环运行良好。最好将结果放入一个搜索结果文件中,而不是每个循环一个。