none
如何快速清空已删除文件夹中的邮件? RRS feed

  • 问题

  • 各位大神,因为某用户的已删除文件夹积累邮件太多,无法一次性给清空,是否可以通过powershell命令一次性给清空呢?

    上网查找了相关方法,也试过search-mailbox  -identity  user  -searchquery  '#deleted  items#'  -deletecontent

    这条命令,虽然没有报错,但是并没有达到效果,不知道各位大神有没有其他办法呢,或者还是只能分批删除?

    2016年10月17日 12:27

答案

  • 你好,

    中文版不是不支持,只是无法识别英文属性名称,导致使用全英文搜索的时候报错,但是,我们使用中文属性名称,同样是可以实现需求的啊,正如你上面测试的。

    根据你最初的需求,我们也可以尝试下面的方式来搜索删除:

    Get-mailbox -Resultsize unlimited | Search-mailbox -SearchQuery "发件人:user01 AND 主题:'test'" -deletecontent

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已标记为答案 lczass 2016年11月7日 6:12
    2016年11月1日 2:08
    版主

全部回复

  • 你好,

    据我所知,Search-mailbox指令无法搜寻特定文件夹的内容。

    如果在outlook中直接右击“Deleted Items”文件夹选择“Empty folder”来删除,是否可行?

    也可以尝试使用powershell运行下面的脚本来删除:

    function Empty-DeletedItems {
    $Outlook = New-Object -ComObject Outlook.Application

       Foreach ($Folder in $Outlook.Session.Folders){
            Foreach($MailFolder in $Folder.Folders ) {

                 if ($MailFolder.Name -eq "Deleted Items" -and $MailFolder.Items.Count -gt 0){

                        $itemcount = $mailfolder.items.count
                        do{
                            $mailfolder.items[$itemcount].Delete()
                            $itemcount = $itemcount - 1
                        }
                        while ($itemcount -gt 0)

                 }

         }

    }

    }

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月18日 7:34
    版主
  • 好的,谢谢,因为已删除文件夹中邮件实在太多,一次性清空不了哈,我先试试这个脚本。另外,我想问下如何使用powershell脚本删掉某封邮件,以至于发件人和收到这份邮件的所有收件人都没有这份邮件
    2016年10月18日 13:45
  • 这个脚本好像不是针对哪个单独用户的哈
    2016年10月18日 13:51
  • 你好,

    你可以在单个用户的PC上运行这个脚本。

    删除特定的邮件,可以使用Search-mailbox指令完成:

    Get-mailbox| Search-mailbox -Searchquery  'Subject:"xxxxxxx"'  -deletecontent
    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月19日 1:20
    版主
  • 好的,谢谢,我有在单个域用户下面测试了,运行这个脚本出现报错了,好像不怎么可行哈
    2016年10月19日 3:03
  • 你好,

    是报什么错误?

    如果只是单个用户的话,最方便快捷就是通过outlook或者OWA上来清空deleted items文件夹。outlook上不行的话,试试OWA上是否可行。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月19日 10:15
    版主
  • 算了,这个翻篇了,另外我想问下如何根据邮件主题和发件人删除特定的邮件呢(全英文主题和既包含英文和中文的主题是否有不一样呢),感觉这样更精准些。

    谢谢!

    2016年10月19日 14:18
  • 你好,

    这个就需要用到Search-mailbox指令了。

    比如下面的指令,搜索user1邮箱中所有来自user2,并且主题中任意位置包含test文字的邮件:

    Search-mailbox -Identity User1 -SearchQuery "from:user2 AND subject:'test'" -deletecontent
    谢谢!

    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月20日 2:01
    版主
  • 这个是针对单个用户的,如果收件人不只一个呢,是把发件人和所有收件人收到这封邮件的记录都抹去该怎么办呢
    2016年10月20日 4:42
  • 你好,

    这个我之前的回复中其实已经提到了,可以直接搜索所有的mailbox:

    Get-mailbox -Resultsize unlimited | Search-mailbox -SearchQuery "from:user2 AND subject:'test'" -deletecontent
    谢谢!

    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已标记为答案 lczass 2016年10月20日 14:39
    • 取消答案标记 lczass 2016年10月21日 14:28
    • 已建议为答案 Niko.ChengModerator 2016年10月24日 6:16
    2016年10月20日 6:17
    版主
  • 是的,我先试试。

    谢谢!

    2016年10月20日 14:39
  • 你好,我试了貌似还是不行哈,出现了下面截图的报错,麻烦再帮忙给看看哈

    2016年10月20日 16:14
  • 你好,

    我在我的环境测试成功了,如下图,供你参考:

    是不是Searchquery的条件有问题,用 -searchquery ‘from:user01 AND subject:“test”’试试(注意单引号在外,test用双引号括起来)

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月21日 1:42
    版主
  • 好的,我再试试。

    谢谢!

    2016年10月21日 4:59
  • 我刚又测试了,好像还是不行,还是会报同样的错,麻烦帮忙再给看看哈

    2016年10月21日 9:14
  • 难道是我的测试环境有问题,就是使用windows  2008r2 sp1系统然后入域,典型安装exchange的哈,客户端也是入域了的,安装的office  2007本地邮箱客户端发送的邮件,然后授权administrator有搜索邮箱和邮箱导入导出的权限,这个应该没什么问题,命令都能tab出来了,麻烦大神再帮忙排查下看是哪里出问题了。

    谢谢!

    2016年10月22日 2:46
  • 你好,

    根据报错信息,说是不支持此属性关键字。

    建议你分开关键字信息查找,看看是哪个属性的关键字不能查找,比如用 -searchquery ‘from:user01’ 和 -searchquery ‘subject:test' 分两次执行查找指令。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月24日 4:46
    版主
  • 分两次执行,就算可以,也达不到我想要的效果哈,好像我在运行这条命令的时候,成功后好像也是没有显示discovery search mailbox这个名字的
    2016年10月24日 12:30
  • 你好,你把你搭建的测试环境具体说下吗?我刚才又试了都不行,还是会出现同样的报错,只能按下面的截图操作才会有成功

    2016年10月24日 13:19
  • 你好,

    由于你之前的报错是有关键字不支持,让你分开执行,只是为了确认是哪个属性不支持,方便精确排错。另外,你选择的是直接删除邮件,是不会显示discovery search mailbox的,可以参考我之前给你的截图,运行成功后,也不会显示discovery search mailbox的。

    我的测试环境就是一台纯Exchange2010全角色服务器。

    按照你上图的执行结果,是搜索user01邮箱中所有包含单词“test”的邮件,无论是主题或是正文中包含的都会搜索到。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月25日 1:57
    版主
  • 分开执行也试了,还是报同样的错,只有输入上面的截图中的那条命令才会执行成功,不知道是哪里的原因?
    2016年10月25日 6:23
  • 你的exchange 版本是什么?


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月25日 6:35
    版主
  • exchange  2010 SP1
    2016年10月25日 8:04
  • 你好,

    我的测试环境是SP3的,如我上面截图显示,运行指令是没有问题的,并且Exchange 2010 SP1版本已经过于老旧,建议你升级到Exchange 2010最新的SP3 RU15在看看。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月25日 9:32
    版主
  • 我现在又给升级成了exchange  2010  SP3,也分开执行了,但还是报同样的错,这到底是什么原因导致的呢

    2016年10月25日 15:18
  • 现在我把测试环境也升级成了exchange  2010  SP3,但还是不行哈

    2016年10月26日 13:47
  • 你好,

    你安装的是中文版的Exchange吗?

    如果是的话,尝试使用中文来搜索看看,如下:

    Search-mailbox -identity user01 -searchquery “主题:test” -deletecontent

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月28日 2:26
    版主
  • 这个之前试了,好像还是会报同样的错的,难道是中文版的问题,不支持特殊的选项?版主你试过中文版没有哈
    2016年10月28日 2:33
  • 你好,

    中文版的环境目前我手头上没有,这个是我看到另外一篇跟你问题很相似的帖子中有提到的,你也可以参考下:

    http://bbs.exchangecn.com/read-htm-tid-8712.html

    这个可能就是问题的症结所在,你也可以发送一封以中文主题为例的测试邮件,然后尝试搜索看看:

    Search-mailbox -identity user01 -searchquery “主题:测试” -deletecontent

    如果可以成功运行,那么就可以确认问题了。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月28日 2:48
    版主
  • ok,我再试试
    2016年10月28日 9:31
  • hi,使用中文的主题测试,命令执行成功了,麻烦告知下怎么解决这个问题哈

    2016年10月28日 13:17
  • hi,版主

    到底是什么鬼问题,回我一下哈!难道只能用英文版的系统,才能实现么

    2016年10月30日 9:34
  • 你好,

    这个应该就是安装语言的问题,由于你安装的是中文版本,所有在高级关键字搜索的过程中,只识别中文的属性名称。

    你可以尝试安装英文语言包试试。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年10月31日 3:00
    版主
  • 醉了,说来说去还是中文版不支持这么多高级的选项,还是得用英文版才行啊
    2016年10月31日 8:47
  • 你好,

    中文版不是不支持,只是无法识别英文属性名称,导致使用全英文搜索的时候报错,但是,我们使用中文属性名称,同样是可以实现需求的啊,正如你上面测试的。

    根据你最初的需求,我们也可以尝试下面的方式来搜索删除:

    Get-mailbox -Resultsize unlimited | Search-mailbox -SearchQuery "发件人:user01 AND 主题:'test'" -deletecontent

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已标记为答案 lczass 2016年11月7日 6:12
    2016年11月1日 2:08
    版主
  • 好的,这个我再试试吧,好像主题要全是中文的才可以的
    2016年11月2日 3:02
  • 嗯,确实是可以的,但是在匹配转发和答复邮件时,还是会出现不支持此属性关键字的报错,请问这个怎么才可以避免呢,麻烦再给看看哈

    谢谢!

    2016年11月2日 13:04
  • 你是如何去匹配转发和答复邮件的呢?能否贴图出来看看。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年11月3日 1:29
    版主
  • 就是在主题:后面加上转发:或答复:的字段,命令成功运行后,会出现不支持此属性关键字的报错.
    2016年11月3日 1:33
  • 是这样吗:

    -Searchquery "主题:‘转发’"


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年11月3日 1:36
    版主
  • -Searchquery "主题:‘转发:’"这样的

    2016年11月3日 3:04
  • 去掉转发后面的冒号呢是否可以呢?能否截图看看。

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers if they help and unmark them if they provide no help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年11月3日 3:14
    版主
  • 好的,我再试试
    2016年11月3日 4:20
  • 试过了,命令执行成功,但是没有删除任何邮件,同样试过-Searchquery "主题:‘转发’"  还是没有删除任何邮件,麻烦再帮忙给看看哈,下面是相关的截图

    2016年11月3日 12:33
  • 尝试下面的搜索条件看看:

    -Searchquery "发件人:user01 AND 主题:转发"

    有关具体搜索的属性应用,推荐你参考下面的文章:

    就地电子数据展示的邮件属性和搜索运算符

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年11月4日 1:59
    版主
  • 这个试了,好像跟上面输出的结果是一样的哈,主题中没有写转发的话,是可以搜索到邮件的,但是答复和转发的邮件都会被删掉

    2016年11月4日 4:30
  • 你好,

    这个应该是预期的,当我们按关键字搜索邮件的时候,会找到所有匹配关键字的邮件,例如,当使用“主题:test"搜索时,会返回主题行中包含单词test所有邮件,无论是转发还是回复的邮件。

    如果你要搜索精确短语的话,比如你上面的例子,搜索主题行中包含“啊啊啊 曹操”短语的邮件时,可以使用‘主题:“啊啊啊 曹操”’来搜索(注意双引号的应用,这个在我上面给出的链接中有详细说明。)

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年11月4日 7:04
    版主
  • 是的,那是否可以精准搜索转发或答复之类的邮件呢,以免同时误删了类似主题的邮件哈。

    谢谢!

    2016年11月5日 3:12
  • 你好,

    这个貌似还真的不行,我也测试过了,使用“subject:FW”来搜索转发的邮件,无法成功搜到,如下:

    谢谢!


    Niko Cheng
    TechNet Community Support


    Please remember to mark the replies as answers.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    2016年11月7日 2:37
    版主
  • 好的,谢谢!
    2016年11月7日 6:11