使用 Powershell 查找在 Exchange 2010 中自动转发/重定向电子邮件的用户

使用 Powershell 查找在 Exchange 2010 中自动转发/重定向电子邮件的用户

我们正在使用 Live@edu,它本质上是一个托管的 Exchange 服务器,具有一些附加功能和限制,我正在尝试找到所有从其帐户转发或重定向电子邮件的人。

我正在尝试删除未使用的旧帐户,但我们有针对用户重定向电子邮件的说明,因此我们应该预料到一些用户确实正在重定向他们的电子邮件,这将使他们的上次登录/注销时间无法反映他们是否确实在使用自动转发或自动重定向规则。

如何使用 Exchange 2010 Powershell Cmdlet 查找具有转发或重定向规则的用户列表?

/编辑:对于我的目的来说,查找是否存在任何服务器端规则可能就足够了,不管规则是否转发/重定向或执行其他操作。

答案1

你的意思是像

get-mailbox -Filter { ForwardingAddress -like '*' } | select-object Name,ForwardingAddress

?或者说您的用户在 Outlook 或 OWA 中创建的“收件箱规则”?后者应该更棘手,但管道

$mbox = Get-Mailbox; $mbox | Foreach { Get-InboxRule -Mailbox $_ }

(Ryan,感谢您测试并纠正这里的语法)并且对非转发/重定向规则进行一些过滤应该可以解决问题。

答案2

我发现以下 PowerShell 命令很有帮助。

查找转发规则:

 foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ForwardTo} | fl MailboxOwnerID,Name,ForwardTo >> d:\Forward_Rule.txt }

要查找重定向规则:

 foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ReDirectTo} | fl MailboxOwnerID,Name,RedirectTo >> d:\Redirect_Rule.txt }

来源:Microsoft TechNet 论坛

答案3

感谢这些命令。

以下是我最终用来查找批发转发或重定向规则的方法......

foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.RedirectTo -or $_.ForwardTo -and -not ($_.description -match "If the message") } | fl MailboxOwnerId,Description >> rules.txt }

这是为了找到基本上使用邮箱作为中继将所有内容发送到不同帐户的帐户。我认为这对某些人可能会有帮助。

相关内容