Powershell - 搜索Exchange邮箱和电子邮件

时间:2012-12-07 19:08:46

标签: powershell exchange-server

我不确定Powershell是否可以这样做,所以我想先在这里问一下快速的头脑风暴!基本上我需要搜索给定Exchange中的所有邮箱,查找特定的字符串 - 这些字符串的多种形式 - 在这种情况下可以说 - 任何包含以下任何格式的6个数字的电子邮件:

`xx-xx-xx
 xxxxxx
 xxx-xxx`

其中x是这种情况下的数字。因此,如果在邮件中找到任何这些字符串,它会将包含在其中的邮箱和电子邮件/主题记录到文本文件中。

我的逻辑如下:

Search Exchange and loop for every mailbox
Recurse in every mailbox looking for matches for the above criteria
If it finds something - get info about that mail, write to text file
Continue loop

任何想法!

由于

1 个答案:

答案 0 :(得分:2)

这适用于Exchange 2010的Exchange 2010:

#Assign the role to the required user account
New-ManagementRoleAssignment -Role “Mailbox Import Export” -User administrator
#Restart the shell

#This would search every mailbox for messages containing the word xx-xx-xx in the message body,
#and export them to the administrator mailbox in a subfolder called Export
Get-Mailbox -ResultSize Unlimited | Search-Mailbox -SearchQuery “Body:’*xx-xx-xx*’” -TargetMailbox administrator -TargetFolder Export

您需要为正在搜索的任何[string]执行此操作。 我认为cmdlet在交换2007年也做同样的事情,但我可以发誓。