在 Exchange 2013 上遇到了一个奇怪的问题,目前我认为这可能是一个错误。本质上曾经有一个针对用户邮箱的转发规则(通过 PowerShell 实现),现在我无法通过 PowerShell 或 UI 查看或禁用它。
事件大致时间线:
- 我们有一个前雇员的邮箱([电子邮件保护]) 在离开时通过常用的 PS 命令实施转发规则
Set-Mailbox -Identity "John Doe" -DeliverToMailboxAndForward $true -ForwardingSMTPAddress "[email protected]"
- 一位名叫约翰的新员工加入了公司
- 我将旧员工的帐户和邮箱的所有方面都重命名为 johnd(包括他们的别名、2000 年之前的登录名、帐户名称、电子邮件地址)-忘记先删除转发器
- 我为“新约翰”添加了一个新邮箱和用户,使用 john@ 作为地址,使用 john 作为别名,等等
- 转发仍会发生,但 Exchange 未在任何邮箱。
我尝试了我能想到的所有命令/方法,并花了整整两个小时寻找解决方案:
Get-Mailbox <identity> | fl ForwardingSMTPAddress,DeliverToMailboxandForward
两个邮箱上均未列出或设置任何内容- 我尝试列出/询问所有其他已实现转发地址的邮箱,但也没有找到任何结果:
Get-mailbox | select DisplayName,ForwardingAddress | where {$_.ForwardingAddress -ne $Null}
- 我尝试将两个邮箱都设置为没有(或 $Null/$False)转发地址、转发 smtp 地址等,尽管我看到没有设置任何内容(并且运行命令确认结果没有任何改变)
- 我查看了每个用户帐户以及我能想到的 ADSI Edit 中的任何相关对象,但没有看到任何提及
- 我已将用户换回来(即恢复用户名、别名等),并检查规则没有“重新附加”或重新出现在前雇员的邮箱中,但事实并非如此
- 我已检查 Outlook 中的规则(没有),并且还使用 /clearrules 和 /clearserverrules 标志启动了 Outlook
奇怪的是,如果我通过 UI 设置新的转发规则,那么该规则将优先于隐藏规则/配置。但如果我删除该规则,它将重新转发到旧地址。
真的不知道该如何解决;这几乎就像规则已经脱离了邮箱层,但不知何故却设法粘在了传输层上。我也试过修复所有问题(重新启动)。
欢迎提出任何建议或指点
答案1
我能想到两种可能性。第一种是已设置用户的 targetAddress 属性。您可以通过打开 ADSIEdit、连接到域、浏览您的 OU 直到找到用户、打开对象的属性并查找“targetAddress”属性来查看该属性。如果它是其中的转发地址,只需编辑并清除它即可。
另一种可能性是剩余的隐藏收件箱规则。您不会在 Outlook 中看到它,您需要使用 MFCMAPI 来查找它。步骤在此处说明(帖子提到损坏的委托条目,但它会引导您到正确的位置)。