我所在组织的用户经常抱怨邮件未送达。80% 的原因是用户 Outlook 上的规则配置错误。有没有办法在服务器端仔细检查 Outlook 规则,而无需使用用户帐户登录用户工作站?我找到了命令
Get-InboxRule -Mailbox $user | Select-Object MailboxOwnerID,Name,Description,Enabled,RedirectTo, MoveToFolder,ForwardTo | Export-CSV C:tempInboxRule.csv -NoTypeInformation
但它没有显示有关 Outlook 规则的完整信息。我发现微软文档但我没有看到MoveToFolder
那里的选项。
我还尝试授予自己对用户邮箱的完全权限,并通过 OWA 登录并检查规则。但有些规则是灰色的,我无法检查其设置。
我也尝试将用户的邮箱连接到我的本地 Outlook,但规则似乎没有同步。
我的Exchange版本是2010。
答案1
根据评论中的讨论,Get-InboxRule –Mailbox $user -Identity {IdentityNumber} | fl
能够给出预期的结果。fl
代表格式列表,您也可以尝试ft
格式表。它们适用于许多用于格式化结果的 powershell 命令。
您还可以在foreach
循环中使用它来获取所有用户的规则。
我认为这是一种极简方法,不显示没有额外参数的完整命令结果。许多 powershell 命令中都会发生这种情况。
答案2
作为克拉克奥特上述命令,可以使用fl
和foreach
来输出所有收件箱规则的详细信息。以下命令供您参考:
$mailboxes = Get-Mailbox -RecipientTypeDetails UserMailbox -ResultSize unlimited
foreach($mailbox in $mailboxes){Get-InboxRule -Mailbox $mailbox.Name | fl MailboxOwnerID,Name,Description,Enabled,RedirectTo, MoveToFolder,ForwardTo}