Export-Message

此 cmdlet 仅适用于本地 Exchange。

使用 Export-Message cmdlet 可以将邮箱服务器或边缘传输服务器上队列中的邮件复制到组织中指定的文件路径。

有关以下语法部分的参数设置的详细信息,请参阅 Exchange cmdlet 语法

语法

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

说明

Export-Message cmdlet 可以将邮件从邮箱服务器或边缘传输服务器的传递队列、“无法到达”队列或病毒邮件队列复制到指定的文件路径。 导出邮件之前,必须首先挂起该邮件。 带毒邮件队列中的邮件已经被挂起。 可以使用 Export-Message cmdlet 将邮件复制到其他邮箱服务器的重播目录以进行传递。

您必须先获得权限,然后才能运行此 cmdlet。 虽然本主题中列出了此 cmdlet 的所有参数,但如果这些参数并未包含在分配给您的权限中,那么您将无法使用这些参数。 若要查找在贵组织中运行任何 cmdlet 或参数所需的权限,请参阅 Find the permissions required to run any Exchange cmdlet

示例

示例 1

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

本示例将单个邮件导出到指定的文件路径。 因为 Export-Message cmdlet 返回二进制对象,所以必须使用能够将邮件内容保存到指定位置的 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 文件中。 每个邮件的 Internet 邮件 ID 将用作文件名。 若要完成此操作,请执行以下命令:

  • 使用 Get-Message cmdlet 在特定队列中检索所有邮件。
  • 结果通过管道传送到 ForEach-Object cmdlet 中;该命令使用临时变量 $Temp 准备一个由 Internet 邮件 ID 与 .eml 扩展名组成的文件名。 “Internet 消息 ID”字段包含尖括号 (<>) ,因为它们是无效的文件名,因此需要删除它们。 这是通过使用临时变量的 Replace 方法来完成。
  • ForEach-Object cmdlet 还可以使用准备的文件名导出邮件。

参数

-Confirm

Confirm 开关指定是否显示确认提示。 此开关对 cmdlet 造成的影响取决于在你继续操作之前 cmdlet 是否需要确认。

  • 破坏性 cmdlet (例如,Remove-* cmdlet) 具有内置的暂停,该暂停会强制你在继续操作之前确认命令。 对于这些 cmdlet,您可以使用此确切语法跳过确认提示:-Confirm:$false
  • 大多数其他 cmdlet (例如,New-* 和 Set-* cmdlet) 没有内置暂停。 对于这些 cmdlet,指定不含值的 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。 有关消息标识的详细信息,请参阅 消息标识

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

若要了解此 cmdlet 接受的输入类型,请参阅 cmdlet 的输入和输出类型。 如果 cmdlet 的"输入类型"字段为空,则表明此 cmdlet 不接受输入数据。

输出

Output types

若要了解此 cmdlet 接受的返回类型(亦称为"输出类型"),请参阅 cmdlet 的输入和输出类型。 如果"输出类型"字段为空,则表明此 cmdlet 不返回任何数据。