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

Rya*_*n H 8 email redirection exchange-2010

我们正在使用 Live@edu,它本质上是托管的交换服务器,具有一些额外的功能和限制来解决,我试图找到每个人从他们的帐户转发或重定向电子邮件。

我正在尝试删除尚未使用的旧帐户,但我们为用户提供了重定向电子邮件的说明,因此我们应该期望某些用户确实在重定向他们的电子邮件,这将使他们上次登录/注销的时间无法反映他们是否确实使用自动转发或自动重定向规则。

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

/编辑:对于我的目的而言,无论规则是转发/重定向还是执行某些其他操作,查找是否存在任何服务器端规则可能就足够了。

the*_*bit 8

你的意思是喜欢

get-mailbox -Filter { ForwardingAddress -like '*' } | select-object Name,ForwardingAddress
Run Code Online (Sandbox Code Playgroud)

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

$mbox = Get-Mailbox; $mbox | Foreach { Get-InboxRule -Mailbox $_ }
Run Code Online (Sandbox Code Playgroud)

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


小智 5

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

查找转发规则:

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

查找重定向规则:

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

来源:Microsoft TechNet 论坛