使用PowerShell将电子邮件从一个文件夹移动到另一个文件夹

使用PowerShell将电子邮件从一个文件夹移动到另一个文件夹,powershell,email,outlook,powershell-ise,Powershell,Email,Outlook,Powershell Ise,有了PowerShell,我正试图编写一个脚本,一旦我完成了我想用它做的事情,就可以将一封电子邮件从我的收件箱移动到一个文件夹中。这就是我目前所拥有的 $folder = $namespace.GetDefaultFolder(6) $filepath = "C:\Users\Documents\PowerShell" $folder.Items| foreach { $_.attachments|foreach { $filename = $_.file

有了PowerShell,我正试图编写一个脚本,一旦我完成了我想用它做的事情,就可以将一封电子邮件从我的收件箱移动到一个文件夹中。这就是我目前所拥有的

$folder = $namespace.GetDefaultFolder(6)
$filepath = "C:\Users\Documents\PowerShell"
$folder.Items| foreach {
        $_.attachments|foreach {
            $filename = $_.filename
                If ($filename.Contains("test.xls")) {
                        $_.saveasfile((Join-Path $filepath $filename))
                        Rename-Item -LiteralPath '.\test.xls' -NewName "Server.xls"
                        #File move code should go here
                        }

                If ($filename.Contains("test2.xls")) {
                        $_.saveasfile((Join-Path $filepath $filename))
                        Rename-Item -LiteralPath '.\test2.xls' -NewName "Workstation.xls"
                        #File move code should go here
                        }       
        }
}
现在我已经设置好了它,它可以在我的收件箱中搜索任何包含带有特定名称的.xls附件的电子邮件,重命名.xls附件,并将其保存到我文档中的指定文件夹中。现在,完成后,我想将包含附件的原始电子邮件移动到Outlook电子邮件中名为“测试文件夹”的文件夹中。我在网上看到过一些人做类似事情的例子,但对我来说似乎什么都不管用。有什么建议吗?

您需要使用将Microsoft Outlook项目移动到新文件夹的方法


要查找所需的文件夹,可以使用
folder.Folders
属性对其进行迭代。有关更多信息,请参阅。

我正在使用移动方法将收件箱中的邮件归档到另一个文件夹。但这些邮件只有在Outlook关闭时才被归档。Outlook打开时,邮件不会移动到其他文件夹。您能帮我解释这种奇怪行为的原因吗?或者建议一种解决方法,以便在outlook打开时也可以存档邮件。我用这个论坛来了解邮件的移动。移动和归档是两种不同的操作。对于沟通错误,我真的很抱歉,我的意思是我想将邮件移动到另一个文件夹,但在outlook打开时,这不起作用。只有在outlook关闭时,邮件才会移动到所需的文件夹。在outlook中移动项目时使用什么代码?如何以及何时运行代码?