locked
特定のユーザのメール送信履歴を保存する方法 RRS feed

  • 質問

  • お疲れさまです。

    Exchange2010で特定のユーザのメール送信履歴(送信日時、送信先、件名)を定期的に出力し、保存したいと考えています。

    管理シェルの以下のコマンドを元にタスク等で実現しようと考えているのですが、送信先がSystem.String[]と表示され結果が出力されません。

    get-messagetrackinglog -Sender "メールアドレス" -Server "SVVGROP" -EventID "RECEIVE" | Export-Csv C:\Users\Administrator\Documents\メール送信履歴\test.csv -encoding Default

    Exchange管理コンソールから追跡ログエクスプローラーでは必要な情報が抽出できることを確認しています。

    管理シェルでSystem.String[]となってしまう出力を読める形で出力する方法を教えていただけないでしょうか。

    よろしくお願いいたします。

    2014年9月11日 7:07

回答

  • Exchange関連ではないですが、同事象を調べていてこんなのみつけました。

    (参考URL:http://www.msexchange.org/kbase/ExchangeServerTips/ExchangeServer2010/Powershell/WhydoIgetSystem.StringwhenusingGet-MessageTrackingLogandexportingtoaCSV.html)

    出力対象項目をSelectで指定してあげて System.String[]と表示されてしまう項目のみ{}で囲ってあげると良いみたいです。

    ▼上記に載せた参考サイトに記載してあるサンプルの記述例

    Get-TransportServer | Get-MessageTrackingLog -ResultSize -Start "11/28/2011" -Sender nuno@letsexchange.com | Select {$_.Recipients}, {$_.RecipientStatus}, * | Export-Csv D:\Reports\Sent_Nuno.csv -NoType

    • 回答の候補に設定 佐伯玲 2014年9月16日 2:35
    • 回答としてマーク mmuutoo 2014年9月16日 4:03
    2014年9月12日 10:36

すべての返信

  • Exchange関連ではないですが、同事象を調べていてこんなのみつけました。

    (参考URL:http://www.msexchange.org/kbase/ExchangeServerTips/ExchangeServer2010/Powershell/WhydoIgetSystem.StringwhenusingGet-MessageTrackingLogandexportingtoaCSV.html)

    出力対象項目をSelectで指定してあげて System.String[]と表示されてしまう項目のみ{}で囲ってあげると良いみたいです。

    ▼上記に載せた参考サイトに記載してあるサンプルの記述例

    Get-TransportServer | Get-MessageTrackingLog -ResultSize -Start "11/28/2011" -Sender nuno@letsexchange.com | Select {$_.Recipients}, {$_.RecipientStatus}, * | Export-Csv D:\Reports\Sent_Nuno.csv -NoType

    • 回答の候補に設定 佐伯玲 2014年9月16日 2:35
    • 回答としてマーク mmuutoo 2014年9月16日 4:03
    2014年9月12日 10:36
  • azitamago様

    お疲れさまです。

    教えていただいた方法で目的のデータを抽出することが出来ました。

    ありがとうございました。

    2014年9月16日 4:04