使用Powershell将电子邮件移动到子文件夹

时间:2015-06-02 16:54:59

标签: email powershell csv outlook

我正在尝试将Outlook收件箱中所有电子邮件的发件人/主题信息写入csv文件,然后使用Powershell将电子邮件移动到收件箱的子文件夹(称为" After")。使用电子邮件信息正确创建CSV文件,但只有前半部分+ 1封电子邮件实际上已移动到子文件夹。这是我的代码:

$olFolderInbox = 6;
$outlook = new-object -com outlook.application;
$mapi = $outlook.GetNameSpace("MAPI");
$inbox = $mapi.GetDefaultFolder($olFolderInbox);
$inbox.items|Select SenderEmailAddress,subject|Export-Csv C:\Scripts\Testing.csv -NoTypeInformation;
ForEach ($Item in $inbox.items){
    try{
        $Item.Move($inbox.Folders.Item("After")) | out-null;
    }catch{
        Write-Host "Failed to move item", $Item.Id.UniqueId;
    }
}

这是我第一次使用Powershell,所以非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

Move()更改集合。使用向下“for”循环(从items.Count减少到1)而不是“foreach”。