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

如何列出Exchange中设收件箱规则的资源邮箱并批量删除规则

本地Exchange资源邮箱收件箱规则管理脚本

一、列出所有存在收件箱规则的资源邮箱

资源邮箱的收件箱规则并非通过Get-CalendarProcessing管理(该命令用于日历自动处理配置),而是使用Get-InboxRule命令获取,以下脚本会遍历所有会议室/设备邮箱,筛选出存在收件箱规则的邮箱并导出到指定文件:

# 获取所有资源邮箱(包含会议室邮箱、设备邮箱)
$resourceMailboxes = Get-Mailbox -RecipientTypeDetails RoomMailbox,EquipmentMailbox

# 初始化结果存储数组
$rulesReport = @()

foreach ($mbx in $resourceMailboxes) {
    # 获取当前资源邮箱的收件箱规则,忽略无规则时的错误
    $inboxRules = Get-InboxRule -Mailbox $mbx.Identity -ErrorAction SilentlyContinue
    if ($inboxRules) {
        $rulesReport += [PSCustomObject]@{
            资源邮箱名称 = $mbx.Name
            邮箱地址 = $mbx.PrimarySmtpAddress
            收件箱规则数量 = $inboxRules.Count
        }
    }
}

# 导出结果到指定路径,编码为Unicode
$rulesReport | ft -AutoSize | Out-File -Encoding Unicode h:\temp\rules.txt

二、批量删除资源邮箱的所有收件箱规则

以下脚本会遍历资源邮箱,针对存在规则的邮箱提供确认选项,避免误删除:

# 获取所有资源邮箱
$resourceMailboxes = Get-Mailbox -RecipientTypeDetails RoomMailbox,EquipmentMailbox

foreach ($mbx in $resourceMailboxes) {
    $inboxRules = Get-InboxRule -Mailbox $mbx.Identity -ErrorAction SilentlyContinue
    if ($inboxRules) {
        Write-Host "检测到资源邮箱: $($mbx.Name) 存在 $($inboxRules.Count) 条收件箱规则"
        # 确认是否删除当前邮箱的规则
        $confirmInput = Read-Host "是否删除该邮箱的所有规则?(输入Y确认,其他键跳过)"
        if ($confirmInput -match '^[Yy]$') {
            $inboxRules | Remove-InboxRule -Mailbox $mbx.Identity -Confirm:$false
            Write-Host "已完成 $($mbx.Name) 的规则删除操作`n"
        } else {
            Write-Host "已跳过 $($mbx.Name) 的规则删除`n"
        }
    } else {
        Write-Host "$($mbx.Name) 无收件箱规则,跳过处理`n"
    }
}

注意事项

  • 运行脚本需具备Exchange管理权限(至少拥有收件箱规则的管理权限)
  • 批量删除前建议先执行第一个脚本导出规则列表,确认目标邮箱无误
  • 脚本中加入了邮箱级别的确认步骤,可根据需求调整是否保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 11:30:59