Exchange Server 2016共享邮箱邮件已读/未读状态变更的审计追踪及日志配置问题
Exchange Server 2016共享邮箱邮件已读/未读状态变更的审计追踪及日志配置问题
嘿,我来帮你搞定这个共享邮箱的审计问题!先理下你的场景:你们用的是自托管Exchange 2016(搭在Windows Server 2016 Datacenter上),有个多人共用的共享邮箱,原本只有特殊情况才允许标记邮件状态,但最近不少邮件莫名被改成已读,没人承认操作,你想揪出是谁干的,还得解决当前审计日志抓不到已读/未读变更的问题对吧?
你已经迈出了关键一步——开启了邮箱审计日志,但问题出在当前配置的Update动作并不包含邮件已读/未读状态的变更,这就是为啥移动邮件有日志,但标记已读/未读没记录的原因。
下面给你说怎么调整配置,精准捕获这类操作:
1. 调整共享邮箱的审计动作
要追踪已读/未读状态变更,你需要给审计角色(Delegate、Admin,必要时包括Owner)明确添加MessageRead动作。运行以下PowerShell命令:
# 给委托人和管理员添加邮件读取/状态变更的审计 Set-Mailbox info@mydomain.com -AuditDelegate @{Add='MessageRead'} -AuditAdmin @{Add='MessageRead'} # 如果需要追踪邮箱所有者自己的操作,再执行这行 Set-Mailbox info@mydomain.com -AuditOwner @{Add='MessageRead'}
配置完后,用这条命令验证设置是否生效:
Get-Mailbox info@mydomain.com | fl *audit*
你应该能看到AuditDelegate、AuditAdmin(以及AuditOwner如果配置了)的动作列表里已经包含MessageRead。
2. 测试并查询日志
配置生效可能需要几分钟,别着急测试。等会儿你再手动标记一次邮件的已读/未读状态,然后用这条命令查询日志:
Search-MailboxAuditLog -Identity info@mydomain.com -LogonTypes Owner,Delegate,Admin -StartDate (Get-Date).AddHours(-1) -ShowDetails -ResultSize 2000
这次你就能看到对应状态变更的日志条目了,里面会清清楚楚显示操作的用户名、时间、动作类型(MessageRead),帮你定位到是谁改了邮件状态。
额外小提示
- 默认审计日志只保留14天,如果需要更长时间,比如30天,可以用这条命令调整:
Set-Mailbox info@mydomain.com -AuditLogAgeLimit 30.00:00:00
MessageRead动作会记录所有读取邮件的操作,包括用户打开邮件时自动标记为已读的情况,你可以通过日志里的详细描述来区分主动标记和被动打开的操作。
备注:内容来源于stack exchange,提问作者Thariama
相关产品推荐
相关产品推荐

