Test-Mailflow

 

适用于: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1

上一次修改主题: 2010-02-16

使用 Test-Mailflow cmdlet 可以诊断能否在安装了邮箱服务器角色的计算机上的“系统邮箱”邮箱中成功地发送和接收邮件。也可以使用该 cmdlet 验证是否在定义的延迟阈值内在邮箱服务器之间发送电子邮件。

语法

Test-Mailflow [-Identity <ServerIdParameter>] [-ActiveDirectoryTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-ErrorLatency <Int32>] [-ExecutionTimeout <Int32>] [-MonitoringContext <$true | $false>] [-WhatIf [<SwitchParameter>]]

Test-Mailflow [-Identity <ServerIdParameter>] -TargetMailboxServer <ServerIdParameter> [-ActiveDirectoryTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-ErrorLatency <Int32>] [-ExecutionTimeout <Int32>] [-MonitoringContext <$true | $false>] [-WhatIf [<SwitchParameter>]]

Test-Mailflow [-Identity <ServerIdParameter>] -TargetEmailAddress <String> [-ActiveDirectoryTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-ErrorLatency <Int32>] [-ExecutionTimeout <Int32>] [-MonitoringContext <$true | $false>] [-TargetEmailAddressDisplayName <String>] [-WhatIf [<SwitchParameter>]]

Test-Mailflow [-Identity <ServerIdParameter>] -AutoDiscoverTargetMailboxServer <SwitchParameter> [-ActiveDirectoryTimeout <Int32>] [-Confirm [<SwitchParameter>]] [-DomainController <Fqdn>] [-ErrorLatency <Int32>] [-ExecutionTimeout <Int32>] [-MonitoringContext <$true | $false>] [-WhatIf [<SwitchParameter>]]

详细说明

Test-Mailflow cmdlet 测试邮件的提交。输和送达。此 cmdlet 验证每个邮箱服务器是否可以成功地向其自身发送邮件,还可以。用此 cmdlet 验证一个邮箱服务器上的“系统邮箱”邮箱是否可以将邮件成功地发送到另一个邮箱服务器上的“系统邮箱”邮箱。

如果手动运行此任务,可以向管理员提供有用的信息。也可以使用监视工具(如 Microsoft Operations Manager (MOM)、Exchange 最佳实践分析工具和 Exchange 故障排除助理)调用此任务。当 MOM 调用此任务时,会生成警报以指示失败或性能下降。

Test-Mailflow cmdlet 可以执行本地测试,也可以执行远程测试。如果未指定任何参数,将执行本地测试并且服务器将向其自身发送测试电子邮件。如果指定了 TargetEmailAddressTargetMailboxServerAutoDiscoverTargetMailboxServer 参数,将执行远程测试。TargetEmailAddressTargetMailboxServerAutoDiscoverTargetMailboxServer 参数互斥。

若要为跨林方案测试电子邮件传送,请使用 TargetEmailAddress 参数。若要在同一个 Active Directory 林中的邮箱服务器之间测试电子邮件传送,请使用 TargetMailboxServer 参数。若要自动填充测试邮件流的目标服务器的列表,请使用 AutoDiscoverTargetMailboxServer 参数。

如果指定了上述多个参数,则 AutoDiscoverTargetMailboxServer 参数优先于 TargetEmailAddressTargetMailboxServer 参数。TargetMailboxServer 参数优先于 TargetEmailAddress 参数。如果执行本地测试,本地服务器必须为每一个邮箱数据库提供“系统邮箱”邮箱。如果执行远程测试,源服务器和目标服务器必须都有“系统邮箱”邮箱,或者必须通过参数提供指定的邮箱。

若要运行 Test-Mailflow cmdlet,必须为您使用的帐户委派以下角色:

  • Exchange 组织管理员角色或运行 cmdlet 服务器的 Domain Administrators 组。

有关管理 Microsoft Exchange Server 2007 所需的权限、角色委派以及权利的详细信息,请参阅权限注意事项

参数

参数 必需 类型 说明

AutoDiscoverTargetMailboxServer

必需

System.Management.Automation.SwitchParameter

AutoDiscoverTargetMailboxServer 参数自动填充将测试邮件发送到的目标邮箱服务器的列表。此任务将查询 Active Directory 目录服务以发现所有邮箱服务器,然后向每个服务器发送测试邮件。

TargetEmailAddress

必需

System.String

TargetEmailAddress 参数指定将测试邮件发送到邮箱的简单邮件传输协议 (SMTP) 地址。使用此参数可以将测试邮件发送到远程林中的邮箱服务器。如果使用了此参数,则测试始终为远程测试。

TargetMailboxServer

必需

Microsoft.Exchange.Configuration.Tasks.ServerIdParameter

TargetMailboxServer 参数指定将测试邮件发送到的本地 Exchange 组织中的一个或多个邮箱服务器。

ActiveDirectoryTimeout

可选

System.Int32

ActiveDirectoryTimeout 参数指定该任务向管理员提供有关延迟的信息性邮件之前所经过的秒数。默认值为 15 秒。

Confirm

可选

System.Management.Automation.SwitchParameter

Confirm 参数将导致命令暂停处理,并且需要管理员在处理继续之前确认该命令将执行的操作。默认值为 $true

DomainController

可选

Microsoft.Exchange.Data.Fqdn

使用 DomainController 参数可以指定将与此命令绑定并将此更改写入 Active Directory 的域控制器的完全限定的域名 (FQDN)。

ErrorLatency

可选

System.Int32

ErrorLatency 参数指定在 MOM 中记录错误事件之前等待测试邮件送达的时间。如果是向本地邮箱服务器发送测试邮件,则默认值为 15 秒;如果是向远程邮箱服务器发送测试邮件,则默认值为 180 秒。

ExecutionTimeout

可选

System.Int32

ExecutionTimeout 参数指定在确定测试失败之前此任务可以运行的最长时间。如果在该时间过期之前没有收到任何测试邮件或送达报告,则此任务结束并报告错误。在 Exchange 命令行管理程序中运行此任务时,默认设置是 240 秒。如果使用 MonitoringContext 参数,则默认设置是 15 秒。

Identity

可选

Microsoft.Exchange.Configuration.Tasks.ServerIdParameter

Identity 参数指定发送测试邮件的源邮箱服务器名称。默认值为本地邮箱服务器。

MonitoringContext

可选

System.Boolean

仅当使用 MOM 进行服务器监视时,才使用 MonitoringContext 参数。如果将其值设置为 $true,则 cmdlet 将使用 MOM 所用的事件和性能计数器填充 MonitoringContext 对象。此参数的默认值是 $false

TargetEmailAddressDisplayName

可选

System.String

TargetEmailAddressDisplayName 参数指定将测试邮件发送到邮箱的显示名称。

WhatIf

可选

System.Management.Automation.SwitchParameter

WhatIf 参数指示命令模拟对对象执行的操作。通过使用 WhatIf 参数,管理员可以查看要发生的更改,而不必应用任何这些更改。默认值为 $true

输入类型

返回类型

Test-Mailflow cmdlet 返回下列属性以帮助解决邮件流问题:

  • MailFlowResult   此属性显示“成功”或“失败”。

  • MessageLatencyTime 此属性显示将测试邮件发送到接收邮箱服务器所用的时间(以秒为单位)。

  • IsRemoteTest   此属性指示是否已将测试邮件发送到本地邮箱服务器之外的服务器,或者是否已将测试邮件发送到某个电子邮件地址。

错误

错误 说明

 

异常

异常 说明

 

示例

第一个示例显示如何将测试邮件从服务器 Mailbox1 发送到服务器 Mailbox2。

第二个示例显示如何将测试邮件从服务器 Mailbox1 发送到电子邮件地址 john@contoso.com。在此示例中,测试邮件被发送到远程林中的邮箱服务器。

Test-Mailflow Mailbox1 -TargetMailboxServer Mailbox2
Test-Mailflow Mailbox1 -TargetEmailAddress john@contoso.com