0
我正在編寫一個腳本,將我所有讀取的電子郵件超過2周時間移至單獨的PST進行歸檔。一旦可以接受,我會通過規則執行它。以編程方式高效地移動電子郵件
但是,我現在的代碼需要很長時間才能完成(大約8分鐘),而在Outlook中進行拖放操作的速度驚人得多。
有誰知道移動大量電子郵件的更好方法嗎?也許通過訪問Outlook的索引?
Add-Type -AssemblyName "Microsoft.Office.Interop.Outlook"
$Outlook=New-Object -ComObject Outlook.Application
$Namespace = $Outlook.GetNameSpace("MAPI")
$Items=1
while ($Items -gt 0)
{
$Items=0
$SourceFolder = $Namespace.Folders.Item($SourcePSTName).Folders.Item($Folder)
$TargetFolder = $Namespace.Folders.Item($TargetPSTName).Folders.Item($Folder)
$AllOfDem=($SourceFolder.Items | where {$_.SentOn -lt $SentMaxDate -and $_.Unread -eq $False})
foreach ($Mail in $AllOfDem)
{
$Mail.Move($TargetFolder) | Out-Null
$Items++
}
}