私は、Outlook interopを使用して特定のメッセージを受信トレイから他のフォルダに移動する小さなpowershellスクリプトを使用しています。基本的な移動操作は、以下のコードを使用して行われます:Outlook Items.Restrictすべてのメッセージを返さない
は[Reflection.Assembly]::LoadWithPartialname("Microsoft.Office.Interop.Outlook") | Out-Null
$olFolders = "Microsoft.Office.Interop.Outlook.OlDefaultFolders" -as [type]
$outlook = new-object -comobject outlook.application
$namespace = $outlook.GetNameSpace("MAPI")
$inbox = $namespace.getDefaultFolder($olFolders::olFolderInbox)
$filter = "[SenderName] = 'Dummy Sender'"
$messages = $inbox.items.Restrict($filter)
$messages | % {
Write-Host "`t$($_.Subject)"
[void]$_.Move($destination) | Out-Null
}
私は気づい問題はitems.Restrict
が一致するすべてのメッセージを返していないことです。スクリプトを実行するたびに、私は3から20のメッセージを取得します。
誰もこの行動を以前に観察しましたか?私が行方不明になっていることは明らかですか?
私はvarius SenderNameと$ message.countでカウントを行います見通し(送付者からの567のメールでも) –