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

Exchange Online排序LastLogonTime降序时出现标识不唯一错误

问题原因

报错是因为你的Exchange Online环境中存在DisplayName为"sales"的重复邮箱对象(比如用户主邮箱+对应存档邮箱、同名共享邮箱等)。流式执行命令时(不加Sort),PowerShell处理一个输出一个,未触发标识冲突;但添加Sort后,PowerShell需要先收集所有对象再排序,此时重复的DisplayName导致Get-MailboxStatistics无法匹配唯一邮箱,进而抛出错误。

解决建议

方法1:过滤重复类型的邮箱(如存档邮箱)

如果重复对象是存档邮箱,可在获取邮箱时直接过滤:

Get-Mailbox -ResultSize Unlimited -Filter { RecipientTypeDetails -ne "MailboxArchive" } | 
Get-MailboxStatistics | 
Select-Object DisplayName, LastLogonTime | 
Sort-Object LastLogonTime -Descending

方法2:用唯一标识获取邮箱统计

通过邮箱全局唯一的MailboxGuid来获取统计信息,彻底避免标识混淆:

Get-Mailbox -ResultSize Unlimited | ForEach-Object {
    Get-MailboxStatistics -Identity $_.MailboxGuid
} | 
Select-Object DisplayName, LastLogonTime | 
Sort-Object LastLogonTime -Descending

方法3:先缓存结果再排序

先把所有统计数据存入变量,再执行排序,规避管道流式处理的潜在问题:

# 预获取并缓存所有邮箱统计数据
$mailboxStats = Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select-Object DisplayName, LastLogonTime
# 对缓存数据排序输出
$mailboxStats | Sort-Object LastLogonTime -Descending

排查重复邮箱(可选)

先定位重复DisplayName的具体邮箱,确认重复对象类型:

Get-Mailbox -ResultSize Unlimited | Where-Object { $_.DisplayName -eq "sales" } | Select-Object DisplayName, UserPrincipalName, RecipientTypeDetails

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:08:14