メールログをPowershellで取得する

「いつ」「誰が」「誰に」「どんな件名のメールを」「送った(送れなかった)」といった情報を簡易に取得したい場合には「Get-MessageTrace」コマンドを利用します。

【参考URL】
https://technet.microsoft.com/ja-jp/library/jj200704(v=exchg.150).aspx

【構文例】
Get-MessageTrace -SenderAddress “送信者のメールアドレス” -StartDate mm/dd/YYYY -EndDate mm/dd/YYYY

実行すると、以下の様な結果が画面出力されます。
gmt

最長で7日前までの情報を5,000件まで取得可能です。

また、以下の様にパイプをし、実行結果をファイルに書き出す事で、メールサイズ等のある程度詳細な情報を取得することも可能です。

【構文例】
Get-MessageTrace -SenderAddress “送信者のメールアドレス” -StartDate mm/dd/YYYY -EndDate mm/dd/YYYY  | Export-CSV -Encoding UTF8 -NotypeInformation “C:\temp\Messagetrace.csv”

 

より長期間の、より詳細の情報を取得したい場合には、「Start-HistoricalSearch」コマンドを利用します。

【参考URL】
https://technet.microsoft.com/ja-jp/library/dn621132(v=exchg.150).aspx

【構文例】
Start-HistoricalSearch -EndDate mm/dd/YYYY -ReportTitle “生成されるレポートのタイトル” -ReportType MessageTraceDetail -StartDate mm/dd/YYYY -SenderAddress “送信者のメールアドレス”

このコマンドを使用すれば、最長で90日前までのメール履歴を取得することが可能です。

ですがこのコマンド、実は「Exchange管理センター」の「メッセージの追跡」をコマンドで打っているだけです。exchange

ですので、こちらはポータル上で処理を実行した方が見た目にも分かりやすいかも知れませんね。

 

この記事を書いた人

momino
タイトルとURLをコピーしました