You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Exchange组织收件箱外部转发规则查询脚本输出异常求助

解决Exchange收件箱规则导出异常问题

问题说明

原脚本导出CSV时,ForwardTo/RedirectTo/ForwardAsAttachmentTo字段显示为类型名称(如Microsoft.Exchange.Data.Storage.Management.ADRecipientOrAddress[])而非实际SMTP地址,同时未筛选出仅转发至外部地址的规则,输出包含大量无效信息。

修正后的脚本

# 替换为你的Exchange组织内部域名
$internalDomain = "@contoso.com"

Get-Mailbox -ResultSize Unlimited | ForEach-Object {
    Write-Verbose "Checking $($_.Alias)..." -Verbose
    $inboxRules = Get-InboxRule -Mailbox $_.Alias

    foreach ($rule in $inboxRules) {
        # 提取各转发字段的外部SMTP地址
        $forwardToExternal = $rule.ForwardTo | ForEach-Object { $_.SmtpAddress } | Where-Object { $_ -notlike "*$internalDomain" }
        $forwardAsAttachmentExternal = $rule.ForwardAsAttachmentTo | ForEach-Object { $_.SmtpAddress } | Where-Object { $_ -notlike "*$internalDomain" }
        $redirectToExternal = $rule.RedirectTo | ForEach-Object { $_.SmtpAddress } | Where-Object { $_ -notlike "*$internalDomain" }

        # 合并所有外部收件人地址
        $externalRecipients = @($forwardToExternal + $forwardAsAttachmentExternal + $redirectToExternal) | Where-Object { $_ }

        # 仅导出存在外部转发/重定向的规则
        if ($externalRecipients.Count -gt 0) {
            [PSCustomObject]@{
                Mailbox             = $_.Alias
                RuleName            = $rule.Name
                ExternalRecipients  = $externalRecipients -join ";"
                RuleActionType      = @(
                    if ($forwardToExternal) { "ForwardTo" }
                    if ($forwardAsAttachmentExternal) { "ForwardAsAttachmentTo" }
                    if ($redirectToExternal) { "RedirectTo" }
                ) -join ";"
                RuleDescription     = $rule.Description -replace "`r`n", " " # 替换换行符避免CSV格式混乱
            }
        }
    }
} | Export-Csv "C:\temp\external_inbox_rules.csv" -NoTypeInformation -Encoding UTF8

关键修正点

  • 提取真实SMTP地址:Exchange的ForwardTo等字段返回的是ADRecipientOrAddress对象,需通过$_.SmtpAddress属性提取实际邮件地址,避免导出类型名称。
  • 筛选外部地址:通过对比内部域名,过滤掉内部收件人,只保留外部地址。
  • 优化CSV格式:将规则描述中的换行符替换为空格,避免CSV单元格内容换行导致格式错乱。
  • 精准过滤规则:仅导出包含外部转发/重定向的规则,减少无效数据。
  • 合并信息维度:将多种转发类型的外部地址合并到同一字段,并标注规则动作类型,便于快速查看规则详情。

内容的提问来源于stack exchange,提问作者Arbelac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 20:43:50