【M365运维】删除离职用户发出的会议邀请

今天有同事想删除离职用户发出的会议邀请,汇总一下不同情况及其处理方法。

需求:
有员工离职,接替者想继续主持离职员工以前发起的会议。但与会者看到的会议发起人还是离职员工,接替者想删除之前的会议邀请,然后重新发起新的会议。

IT环境:Office 365 + Outlook

场景1:离职员工的邮箱还存在
方法一:从离职用户角度,想法登录到用户的邮箱里,直接从用户的日历里删除所发起的会议。
【这个方法比较简单直接,只是进入其他用户邮箱可能会涉及到公司策略是否允许之类的问题。另外,会需要逐个选中会议进行删除,稍麻烦了点】

方法二:从管理员角度,打开Powershell, 连接到 O365 的 Exchange 管理会话里, 然后通过 Remove-CalendarEvents 命令进行删除。下面的示例里执行了两次Remove-CalendarEvents命令,第一次是加了 "-PreviewOnly" 参数,用来查看会议信息,确认无误后第二次就把 "-PreviewOnly" 参数去掉。
【这个方法可以从后台一次性的删除离职员工日历中的所有会议安排】

PS C:\O365> Remove-CalendarEvents -Identity <离职用户邮箱> -CancelOrganizedMeetings -QueryStartDate 3-8-2021 -QueryWindowInDays 30 -PreviewOnly -verbose
//这一句是用来查看离职用户邮箱里从2021.3.8号开始30天内的会议安排。只是查看,不删除。

Confirm
Are you sure you want to perform this action?
The meeting(s) will be canceled and removed from the calendar. This action cannot be undone.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):
The recurring meeting with subject "test" has been queued for cancellation.
The recurring meeting with subject "3.19" has been queued for cancellation.
//上面两行就是检查到的会议信息

PS C:\O365> Remove-CalendarEvents -Identity <离职用户邮箱> -CancelOrganizedMeetings -QueryStartDate 3-8-2021 -QueryWindowInDays 30 -Confirm

Confirm
Are you sure you want to perform this action?
The meeting(s) will be canceled and removed from the calendar. This action cannot be undone.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is "Y"):
//确认没问题后,就可以删除了

PS C:\O365> 

场景2:离职员工的用户已经被注销了

由于用户邮箱已经被注销,就没法使用上面的两个办法从离职员工的邮箱里删会议了。能想到的方法就是从参会方进行处理了,同样的:

方法一:从用户端,通知之前会议的参会方,让他们各自从日历中把原先的会议删除。

方法二:是通过O365后台管理,从参会方的邮箱里找出离职员工发来的会议邀请,然后再进行删除

用Powershell 连接到 Exchange Online的管理会话。
1. 稳妥起见,先做检查。运行下面的命令,导出一份离职用户发过的会议邀请信息,并发送到指定邮箱的 inbox 目录里。命令里的关键一点是通过Meetings这个类型以及指定了离职员工的邮箱地址进行检索。
PS C:\> get-mailbox <参会者的邮箱地址> | Search-Mailbox -SearchQuery '(kind:Meetings)  AND (from:<离职员工的邮箱地址>)'  -TargetMailbox <指定的接收日志的邮箱地址>  -TargetFolder "inbox"  -LogOnly  -LogLevel  Full
命令运行完之后,接收日志邮箱的 inbox 目录里会收到一个 zip 文件, 解压后,其中的 csv 文件里就包含离职员工发出过的会议邀请信息。其中的部分字段如下图所示:

2. 查看导出的 csv 文件,无误后,执行下面的命令进行清理。

PS C:\O365> get-mailbox <参会者的邮箱地址> | Search-Mailbox  -SearchQuery  '(kind:meetings)  AND  (from:<离职员工的邮箱地址>)' -DeleteContent

另外,从上面的截图里能看出来,其实还可以通过添加其他的字段来灵活的控制要删除的内容,比如下面通过添加会议主题来删除特定的会议。
PS C:\> get-mailbox <参会者的邮箱地址> | Search-Mailbox -SearchQuery '(subject:<会议主题>  AND (kind:Meetings)  AND (from:<离职员工的邮箱地址>)'  -TargetMailbox <指定的接收日志的邮箱地址>  -TargetFolder "inbox"  -LogOnly  -LogLevel  Full

---------------------------  EOF --------------------------

猜你喜欢

转载自blog.csdn.net/aladinggao/article/details/114530977