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

Exchange 2016导出邮箱属性:如何获取Imap等服务启用状态?

解决Exchange邮箱协议状态获取问题

原脚本无法获取IMAP、POP、OWA、ActiveSync的启用状态,是因为这些客户端访问配置属性不属于Get-Mailbox的输出字段,需要通过Get-CASMailbox cmdlet来获取相关状态。

修改后的脚本(基础版)

Get-Mailbox -ResultSize Unlimited | 
    Select-Object DisplayName, SamAccountName, PrimarySmtpAddress,
        @{Name='ImapEnabled'; Expression={(Get-CASMailbox $_.Identity).ImapEnabled}},
        @{Name='PopEnabled'; Expression={(Get-CASMailbox $_.Identity).PopEnabled}},
        @{Name='OWAEnabled'; Expression={(Get-CASMailbox $_.Identity).OWAEnabled}},
        @{Name='ActiveSyncEnabled'; Expression={(Get-CASMailbox $_.Identity).ActiveSyncEnabled}} |
    Sort-Object PrimarySmtpAddress | 
    Out-GridView

优化性能版(适合大量邮箱环境)

如果邮箱数量较多,多次调用Get-CASMailbox会影响效率,可先批量获取所有CAS配置并存入哈希表,再关联查询:

# 预加载所有CAS邮箱配置到哈希表
$casMailboxes = @{}
Get-CASMailbox -ResultSize Unlimited | ForEach-Object { $casMailboxes[$_.Identity] = $_ }

# 关联邮箱基础信息与CAS协议状态
Get-Mailbox -ResultSize Unlimited | 
    Select-Object DisplayName, SamAccountName, PrimarySmtpAddress,
        @{Name='ImapEnabled'; Expression={$casMailboxes[$_.Identity].ImapEnabled}},
        @{Name='PopEnabled'; Expression={$casMailboxes[$_.Identity].PopEnabled}},
        @{Name='OWAEnabled'; Expression={$casMailboxes[$_.Identity].OWAEnabled}},
        @{Name='ActiveSyncEnabled'; Expression={$casMailboxes[$_.Identity].ActiveSyncEnabled}} |
    Sort-Object PrimarySmtpAddress | 
    Out-GridView

导出CSV说明

将上述脚本中的Out-GridView替换为以下命令即可导出到CSV文件:

Export-Csv -Path "邮箱协议状态汇总.csv" -NoTypeInformation -Encoding UTF8

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 06:48:26