Export-Message

このコマンドレットは、オンプレミスの Exchange でのみ使用可能です。

メールボックス サーバーまたはエッジ トランスポート サーバーのキューから組織内の指定されたファイル パスへメッセージをコピーするには、Export-Message コマンドレットを使用します。

以下の構文セクションのパラメーター セットの詳細については、「Exchangeのコマンドレット構文」を参照してください。

構文

Export-Message
      [-Identity] <MessageIdentity>
      [-Confirm]
      [-WhatIf]
      [<CommonParameters>]

説明

Export-Message コマンドレットは、メールボックス サーバーまたはエッジ トランスポート サーバー上の配信キュー、到達不能キュー、または有害メッセージ キューから、指定のファイル パスへメッセージをコピーします。 メッセージをエクスポートする前に、まずメッセージを中断する必要があります。 有害なメッセージ キュー内のメッセージは、既に中断されています。 Export-Message コマンドレットを使用して、配信用の別のメールボックス サーバーの再生ディレクトリにメッセージをコピーできます。

このコマンドレットを実行する際には、あらかじめアクセス許可を割り当てる必要があります。 このトピックにはこのコマンドレットのすべてのパラメーターが一覧表示されていますが、自分に割り当てられているアクセス許可に含まれていない一部のパラメーターにはアクセスできません。 コマンドレットを組織内で実行するために必要になるアクセス許可とパラメーターを調べるには、「 Find the permissions required to run any Exchange cmdlet」を参照してください。

例 1

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

この例では、1 つのメッセージを指定のファイル パスにエクスポートしています。 Export-Message コマンドレットがバイナリ オブジェクトを返すので、指定の場所にメッセージ内容を保存できるようにするために AssembleMessage フィルターを使用する必要があります。

例 2

Get-Message -Queue "Server1\contoso.com" -ResultSize Unlimited | ForEach-Object {Suspend-Message $_.Identity -Confirm:$False

$Temp="C:\ExportFolder\"+$_.InternetMessageID+".eml"

$Temp=$Temp.Replace("<","_")

$Temp=$Temp.Replace(">","_")

Export-Message $_.Identity | AssembleMessage -Path $Temp}

この例では、指定したキューからすべてのメッセージを取得しています。 次に、クエリ結果が Export-Message コマンドにパイプされ、すべてのメッセージは各 .eml ファイルにコピーされます。 各メッセージのインターネット メッセージ ID は、ファイル名として使用されます。 このために、コマンドで以下を実行します。

  • Get-Message コマンドレットを使用して特定キュー内にあるすべてのメッセージを取得します。
  • 結果は ForEach-Object コマンドレットにパイプラインされ、.eml 拡張子のインターネット メッセージ ID から成る一時変数 $Temp を使用してフル パスを含むファイル名が準備されます。 [インターネット メッセージ ID] フィールドには山かっこ (<>) が含まれています。これは無効なファイル名であるため、削除する必要があります。 このためには、一時変数の Replace 方法を使用します。
  • また、ForEach-Object コマンドレットは、準備されたファイル名を使用して、メッセージをエクスポートします。

パラメーター

-Confirm

Confirm スイッチは、確認プロンプトを表示するか非表示にするかを指定します。 このスイッチがコマンドレットにどのような影響を与えるかは、先に進む前にコマンドレットで確認が必要となるかどうかで決まります。

  • 破壊的なコマンドレット (Remove-* コマンドレットなど) には、続行する前にコマンドの確認を強制する組み込みの一時停止があります。 これらのコマンドレットでは、正確な構文-Confirm:$falseを使用して、確認プロンプトを省略できます。
  • 他のほとんどのコマンドレット (New-* コマンドレットや Set-* コマンドレットなど) には、一時停止が組み込まれています。 これらのコマンドレットの場合、値なしで Confirm スイッチを指定すると、先に進む前に、一時停止してコマンドを確認する必要があります。
Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-Identity

Identity パラメーターは、メッセージを指定します。 このパラメーターの有効な入力は、構文 Server\Queue\MessageInteger または Queue\MessageInteger または MessageInteger を使用します (例: Mailbox01\contoso.com\5 または 10)。 メッセージ ID の詳細については、「 メッセージ ID」を参照してください。

Type:MessageIdentity
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

-WhatIf

WhatIf スイッチは、コマンドの操作をシミュレートします。 このスイッチを使用すると、実際にその変更内容を適用せずに、発生する変更を確認できます。 このスイッチで値を指定する必要はありません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False
Applies to:Exchange Server 2010, Exchange Server 2013, Exchange Server 2016, Exchange Server 2019

入力

Input types

このコマンドレットに使用できる入力の種類を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 コマンドレットで入力の種類のフィールドが空白の場合、そのコマンドレットには入力データを指定できません。

出力

Output types

このコマンドレットに使用できる戻り値の型 (出力の種類) を確認するには、「コマンドレットの入力および出力の種類」をご覧ください。 出力の種類のフィールドが空白の場合、コマンドレットはデータを返しません。