Powershell从office365上 删除日历记录

一个用户给我抱怨他的日历上每周一早上10点,同样的会议邀请会重复900多次,过多的记录(几万条重复的)导致他的Outlook根本无法打开日历,一开就死机,问我是否能够删除这些记录。


豆子稍微搜索了一下,发现从OWA的界面里面只能一条条手动删除,Outlook又打不开,那么怎么才能快速的批删除对应的记录呢?找找看Powershell是否有对应的命令,很幸运的是我找到了,这个命令就是search-mailbox。


默认情况下,我的账号尽管是管理员账号,仍然无法使用这个命令,需要把自己的账号加入Discovery Management的管理角色中。登录Office 365的Admin界面- Exchange Admin Center , 左边选择Permission , admin roles下面选择Discovery Management, 把自己的账号加入进去。


Powershell从office365上 删除日历记录

接下来需要远程连接Office 365


1
2
3
4
5
6
7
8
$cred Get-Credential "[email protected]"
Import-Module MSOnline
Set-ExecutionPolicy remotesigned
Connect-MsolService -Credential $cred
  
#连接到Office365
$Session New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $session


连上之后就可以正常的使用Exchange的各种命令了。下面的命令会搜索mmelloy的用户,并删除所有叫做weekly wip - telstra, code 的记录

1
Search-Mailbox -Identity "mmelloy" -SearchQuery {subject:"weekly wip - telstra,Code"} -DeleteContent


执行以上命令,确认删除。


等待了大概1个多小时后,这些垃圾信息成功的删除!










本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1712112,如需转载请自行联系原作者