1

受信トレイ

....|___フォルダ1

.............|___Folder2

受信トレイの下のフォルダーを検索するコードはありますが、フォルダーの下のフォルダーの特定のフィールドを検索する方法がわかりません。ある種の再帰を行う必要がありますか?

$olFolderInbox = 6
$outlook = new-object -com outlook.application;
$ns = $outlook.GetNameSpace("MAPI");
$inbox = $ns.GetDefaultFolder($olFolderInbox)

$Folder1 = $inbox.Folders | where-object { $_.name -eq "Folder1" }      
$Folder1Mail = $UTSFolder.items | Select-Object -Property Subject, ReceivedTime, Body

次に、探している情報のリストに input.txt を使用し、その受信トレイの各アイテムと比較します。

$Inputs = Get-Content input.txt

Foreach ($Input in $Inputs){
    Foreach ($Mail in $Folder1Mail){
        if ($Mail.Body -like "*$Input*") { 
            Write-Host "Match found!" 
        }
    }
}

すべてのフォルダーとサブフォルダーをクロールして一覧表示するスクリプトを見つけましたが、それらを参照する方法が明確ではありません。 http://gallery.technet.microsoft.com/office/b1295e6f-6d16-4df4-b644-f3c7e4031a69

フランケンシュタイン チョップ ショッピング スクリプトだけにうんざりしているので、現在 Windows PowerShell In Action を読んでいます。

ありがとう!

4

1 に答える 1

3

コレクションを使用する必要がありますMAPIFolder.Folders: VB スタイル:

set Folder = inbox.Folders.Item("folder1").Folder.Item("Folder2")
于 2013-02-02T06:45:34.723 に答える