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


8

我们使用的是Live @ edu,它实际上是托管的Exchange服务器,具有一些其他功能和可解决的限制,并且我试图找到所有人都在转发或重定向其帐户中的电子邮件。

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

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

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

Answers:


8

你的意思是像

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

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

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

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


4

我发现以下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 }

那就是找到基本上使用邮箱作为中继来将所有内容发送到另一个帐户的帐户。我认为这可能对某些人有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.