2016-10-26 40 views
0

私はすべてのOutlook 2013受信トレイの内容をExcelシートにエクスポートするpowershellスクリプトを作成しています。私は多くのコードを試しましたが、エラーまたはirrelavent出力が出ています。親切に助けてください。powershellですべてのOutlook受信トレイのメールをExcelファイルにエクスポートする

+3

ラムヤ、あなたがしようとしたものを表示することができますあなたの最後の試行で、関連するエラーメッセージ? – BenH

+0

私のコードは関数Get-OutlookInBoxです { Add-ty pe -assembly "Microsoft.Office.Interop.Outlook" | out-null $ olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [タイプ] $ outlook = new-object -comobject outlook.application $ namespace = $ outlook.GetNameSpace( "MAPI") $フォルダ= $ namespace.getDefaultFolder($ olFolders :: olFolderInBox) $ folder.items | Select-Object - プロパティの件名、ReceivedTime、SenderName、SenderAddress | Out-File XXXX \ Trial.txt } $ inbox = Get-OutlookInBox – Ramya

+0

私の出力はテキストです。しかし、私はExcelでそれを欲しがって、私が得ている科目は作品です。私はそれを完全に望みます。送信者のメールIDは完全に空白です。私もそれが必要です – Ramya

答えて

0

コードを投稿していただきありがとうございます。私のお手伝いをさせていただきます。最後の行を$folders.items | Get-Memberに変更すると、使用可能なすべてのプロパティが表示されますが、SenderAddressは表示されませんが、SenderEmailAddressが表示されます。

第2に、Outlookで完全な詳細で開くことができる出力が必要です。最後の行をOut-Fileでパイプすると、文字列のテーブルとしてフォーマットされたデータが送信されます。代わりにExport-CSVコマンドレットを使用して、Excelで開くことができる形式でエクスポートします。あなたが望むのであれば、Excel Modulesのいくつかを使って、必要ならばこれをxlsxに直接送ることができます。

2つのサイドノート。これを保存する場所に置き換える必要があります。あなたがこれを実行すると、あなたのPowerShellセッションの標高状態がOutlookと一致していること。PowerShellは、管理者として昇格/実行され、Outlookがありませんが、それは動作しません場合は注意してください。

Function Get-OutlookInBox { 
    Add-Type -AssemblyName "Microsoft.Office.Interop.Outlook" | out-null 
    $olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type] 
    $Outlook = New-Object -ComObject Outlook.Application 
    $Namespace = $Outlook.GetNameSpace("MAPI") 
    $Folder = $Namespace.GetDefaultFolder($olFolders::olFolderInBox) 
    $Folder.Items | Select-Object -Property Subject, ReceivedTime, SenderName, SenderEmailAddress | Export-CSV -NoTypeInformation XXXX\Trial.csv 
} 
関連する問題