一个用户给我抱怨他的日历上每周一早上10点,同样的会议邀请会重复900多次,过多的记录(几万条重复的)导致他的Outlook根本无法打开日历,一开就死机,问我是否能够删除这些记录。
豆子稍微搜索了一下,发现从OWA的界面里面只能一条条手动删除,Outlook又打不开,那么怎么才能快速的批删除对应的记录呢?找找看Powershell是否有对应的命令,很幸运的是我找到了,这个命令就是search-mailbox。
默认情况下,我的账号尽管是管理员账号,仍然无法使用这个命令,需要把自己的账号加入Discovery Management的管理角色中。登录Office 365的Admin界面- Exchange Admin Center , 左边选择Permission , admin roles下面选择Discovery Management, 把自己的账号加入进去。
接下来需要远程连接Office 365
1
2
3
4
5
6
7
8
|
$cred
=
Get-Credential
"admin@abc.com"
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,如需转载请自行联系原作者