次の方法で共有


キューからメッセージをエクスポートする

 

適用先: Exchange Server 2010 SP2, Exchange Server 2010 SP3

トピックの最終更新日: 2012-10-30

シェルを使用して、Microsoft Exchange Server 2010 ハブ トランスポート サーバーの役割、またはエッジ トランスポート サーバーの役割がインストールされているコンピューター上のキューから、指定したファイル パスにメッセージをコピーすることができます。このタスクの実行には、キュー ビューアーは使用できません。ただし、このタスクの実行前にメッセージを検索、識別、および中断する場合は、キュー ビューアーを使うと便利です。

キューからファイルにメッセージをエクスポートしても、このメッセージはキューから削除されません。メッセージのコピーは、指定した場所にテキスト ファイルとして作成されます。でき上がったファイルは、テキスト エディターや電子メール クライアント アプリケーションなどのアプリケーションで表示できます。また、Exchange 組織内外にあるその他任意のハブ トランスポート サーバーまたはエッジ トランスポート サーバー上で、再生ディレクトリを使用することにより、メッセージ ファイルを再送信できます。

トランスポート キューの管理に関連する他の管理タスクについては、「トランスポート キューの管理」を参照してください。

前提条件

メッセージをキューからエクスポートする前に、以下の手順を実行する必要があります。

  1. 対象の場所に関する以下の情報を確認します。

    • メッセージをエクスポートする前に、エクスポート先のディレクトリが存在している必要があります。ディレクトリは自動的には作成されません。絶対パスが指定されていない場合は、現在のシェルの作業ディレクトリが使用されます。

    • 指定するパスは、Exchange 2010 コンピューター上のローカル パスでも、リモート サーバー上で共有の汎用名前付け規則 (UNC) パスでもかまいません。

    • アカウントに対象のディレクトリへの書き込みアクセス許可が与えられている必要があります。

  2. エクスポートするメッセージを検索して特定します。メッセージを表示する方法の詳細については、「キューに入っているメッセージのプロパティの表示」を参照してください。

  3. エクスポート処理中に配信が行われないように、エクスポートするメッセージを中断します。エクスポート処理を正しく行うためには、メッセージが中断の状態になっている必要があります。リモート配信キュー、メールボックス配信キュー、到達不能キュー、または有害メッセージ キューからメッセージをエクスポートできます。有害メッセージ キューに置かれたメッセージは、既に中断状態になっています。発信キュー内のメッセージを中断またはエクスポートすることはできません。メッセージを中断する方法の詳細については、「メッセージを中断する」を参照してください。

  4. ファイル名を指定する場合は、ファイル名拡張子の .eml が含まれていることを確認してください。ファイルが電子メール クライアント アプリケーションから簡単に開くことができ、あるいは再生ディレクトリがファイルを正しく処理します。

シェルを使用して、特定のキューから特定のメッセージをエクスポートする

この手順を実行する際には、あらかじめアクセス許可を割り当てる必要があります。必要なアクセス許可の一覧については、以下を参照してください。「トランスポートのアクセス許可」の「キュー」。

注意

EMC を使用してこのタスクを実行することはできません。

この例では、Exchange01 サーバー上の Contoso.com ドメインのリモート配信キューにある InternalMessageID 1234 のメッセージのコピーを、C:\Contoso Export\export.eml パスにエクスポートします。

Export-Message -Identity ExchSrv1\contoso.com\1234 | AssembleMessage -Path "c:\exportfolder\filename.eml"

構文およびパラメーターの詳細については、「Export-Message」を参照してください。

シェルを使用して、特定のキューからすべてのメッセージをエクスポートする

この手順を実行する際には、あらかじめアクセス許可を割り当てる必要があります。必要なアクセス許可の一覧については、以下を参照してください。「トランスポートのアクセス許可」の「キュー」。

注意

EMC を使用してこのタスクを実行することはできません。

この例では、各メッセージのインターネット メッセージ ID をファイル名として使用して、Exchange01 サーバー上にある Contoso.com リモート配信キューからすべてのメッセージのコピーを、ローカル コンピューター上の C:\Contoso Export ディレクトリにエクスポートします。このために、コマンドで以下を実行します。

  • Get-Message コマンドレットを使用して特定キュー内にあるすべてのメッセージを取得します。

  • メッセージごとに次の処理を実行する ForEach-Object コマンドレットに、結果をパイプ処理します。

    • .eml 拡張子のインターネット メッセージ ID で構成される一時変数 $Temp を使用した完全パスを含むファイル名を準備します。インターネット メッセージ ID フィールドには、山かっこ (">" および "<") が含まれており、無効なファイル名であるため、削除が必要です。このためには、一時変数の Replace 方法を使用します。

    • 準備されたファイル名を使用して、メッセージをエクスポートします。

Get-Message -Queue "Exchange01\Contoso.com" | ForEach-Object {$Temp="C:\Contoso Export\"+$_.InternetMessageID+".eml";$Temp=$Temp.Replace("<","_");$Temp=$Temp.Replace(">","_");Export-Message $_.Identity | AssembleMessage -Path $Temp}

構文およびパラメーターの詳細については、「Get-Message」および「Export-Message」を参照してください。

シェルを使用して、サーバー上にあるすべてのキューから特定のメッセージをエクスポートする

この手順を実行する際には、あらかじめアクセス許可を割り当てる必要があります。必要なアクセス許可の一覧については、以下を参照してください。「トランスポートのアクセス許可」の「キュー」。

注意

EMC を使用してこのタスクを実行することはできません。

この例では、各メッセージのインターネット メッセージ ID をファイル名として使用して、Exchange01 サーバー上にあるすべてのキューから Contoso.com ドメイン内の送信者からのすべてのメッセージのコピーを、ローカル コンピューター上の C:\Contoso Export ディレクトリにエクスポートします。このために、コマンドで以下を実行します。

  • フィルターを指定した Get-Message コマンドレットを使用して、条件に一致するすべてのメッセージを取得します。

  • メッセージごとに次の処理を実行する ForEach-Object コマンドレットに、結果をパイプ処理します。

    • .eml 拡張子のインターネット メッセージ ID で構成される一時変数 $Temp を使用した完全パスを含むファイル名を準備します。インターネット メッセージ ID フィールドには、山かっこ (">" および "<") が含まれており、無効なファイル名であるため、削除が必要です。このためには、一時変数の Replace 方法を使用します。

    • 準備されたファイル名を使用して、メッセージをエクスポートします。

Get-Message -Filter {FromAddress -like "@Contoso.com"} -Server "Exchange01" | ForEach-Object {$Temp="C:\Contoso Export\"+$_.InternetMessageID+".eml";$Temp=$Temp.Replace("<","_");$Temp=$Temp.Replace(">","_");Export-Message $_.Identity | AssembleMessage -Path $Temp}

構文およびパラメーターの詳細については、「Get-Message」および「Export-Message」を参照してください。

 © 2010 Microsoft Corporation.All rights reserved.