我们正在使用Live @ edu,这是本质上托pipe的交换服务器,有一些额外的function和限制解决,我试图find每个人转发或redirect他们的帐户的电子邮件。
我正在尝试删除尚未使用的旧帐户,但是我们已经向用户提供了redirect电子邮件的说明,因此我们应该期望有些用户确实正在redirect他们的电子邮件,这将使他们最后的login/注销时间不会反映他们是否确实使用自动转发或自动redirect规则。
如何使用Exchange 2010 Powershell Cmdletfind具有转发或redirect规则的用户列表?
/编辑:我的目的可能是足以find是否有任何服务器端规则,无论规则转发/redirect或做一些其他的行动。
你是说喜欢
get-mailbox -Filter { ForwardingAddress -like '*' } | select-object Name,ForwardingAddress
? 或者说,您的用户在Outlook或OWA中创build的“收件箱规则”? 后者应该更棘手,但pipe道
$mbox = Get-Mailbox; $mbox | Foreach { Get-InboxRule -Mailbox $_ }
(Ryan,感谢您在这里testing和更正语法),并对非转发/redirect规则做一些过滤应该做的伎俩。
我发现下面的PowerShell命令很有帮助。
查找转发规则:
foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ForwardTo} | fl MailboxOwnerID,Name,ForwardTo >> d:\Forward_Rule.txt }
要findredirect规则:
foreach ($i in (Get-Mailbox -ResultSize unlimited)) { Get-InboxRule -Mailbox $i.DistinguishedName | where {$_.ReDirectTo} | fl MailboxOwnerID,Name,RedirectTo >> d:\Redirect_Rule.txt }
来源: Microsoft TechNet论坛
感谢这些命令。
这是我最终用来find批发转发或redirect的规则…
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 }
这是为了find基本上使用邮箱作为中继的帐户,将所有内容发送到不同的帐户。 我认为这可能对一些人有帮助。