共用方式為


Test-Mailflow

內部部署 Exchange 才有提供此 Cmdlet。

使用 Test-Mailflow 指令程式,可診斷郵件是否可順利地往返傳送於 Mailbox Server 上的系統信箱。 您也可以使用這個指令程式,確認電子郵件已在定義的延遲閾值內,於 Mailbox Server 之間傳送。

如需下方<語法>一節中參數集的詳細資訊,請參閱 Exchange Cmdlet 語法

Syntax

Test-Mailflow
    [[-Identity] <ServerIdParameter>]
    [-AutoDiscoverTargetMailboxServer]
    [-ActiveDirectoryTimeout <Int32>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ErrorLatency <Int32>]
    [-ExecutionTimeout <Int32>]
    [-MonitoringContext <Boolean>]
    [-WhatIf]
    [<CommonParameters>]
Test-Mailflow
    -CrossPremises <Boolean>
    [-ActiveDirectoryTimeout <Int32>]
    [-CrossPremisesExpirationTimeout <EnhancedTimeSpan>]
    [-CrossPremisesPendingErrorCount <Int32>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ErrorLatency <Int32>]
    [-ExecutionTimeout <Int32>]
    [-MonitoringContext <Boolean>]
    [-WhatIf]
    [<CommonParameters>]
Test-Mailflow
    [[-Identity] <ServerIdParameter>]
    -TargetDatabase <DatabaseIdParameter>
    [-ActiveDirectoryTimeout <Int32>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ErrorLatency <Int32>]
    [-ExecutionTimeout <Int32>]
    [-MonitoringContext <Boolean>]
    [-WhatIf]
    [<CommonParameters>]
Test-Mailflow
    [[-Identity] <ServerIdParameter>]
    -TargetEmailAddress <String>
    [-TargetEmailAddressDisplayName <String>]
    [-ActiveDirectoryTimeout <Int32>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ErrorLatency <Int32>]
    [-ExecutionTimeout <Int32>]
    [-MonitoringContext <Boolean>]
    [-WhatIf]
    [<CommonParameters>]
Test-Mailflow
    [[-Identity] <ServerIdParameter>]
    -TargetMailboxServer <ServerIdParameter>
    [-ActiveDirectoryTimeout <Int32>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ErrorLatency <Int32>]
    [-ExecutionTimeout <Int32>]
    [-MonitoringContext <Boolean>]
    [-WhatIf]
    [<CommonParameters>]
Test-Mailflow
    [[-Identity] <ServerIdParameter>]
    [-ActiveDirectoryTimeout <Int32>]
    [-Confirm]
    [-DomainController <Fqdn>]
    [-ErrorLatency <Int32>]
    [-ExecutionTimeout <Int32>]
    [-MonitoringContext <Boolean>]
    [-WhatIf]
    [<CommonParameters>]

Description

Test-Mailflow 指令程式可測試郵件的提交、傳輸及傳遞。 此指令程式會確認每台 Mailbox Server 都可順利地將郵件傳送至其本身。 您也可以使用這個指令程式,來確認某一台 Mailbox Server 上的系統信箱可順利地將郵件傳送至另一台 Mailbox Server 上的系統信箱。 參與測試的所有伺服器上都需要有系統信箱。

測試訊息可在目標使用者或系統信箱中使用。 訊息主旨為 Test-Mailflow <GUID> ,而訊息本文包含文字 This is a Test-Mailflow probe message

Test-Mailflow 結果會顯示在螢幕上。 結果中的有趣值如下:

  • TestMailflowResult:傳回的值通常是 Success 或 *FAILURE*。
  • MessageLatencyTime:完成測試 (傳遞測試訊息) 所需的時間。 此值使用語法 hh:mm:ss.ffff,其中 hh = 小時、mm = 分鐘、ss = 秒,而 ffff = 秒的分數。

您可以將輸出管線傳送至 ConvertTo-Html 或 ConvertTo-Csv,並將 新增至 命令,以將Test-Mailflow > <filename> 結果寫入檔案。 例如:Test-Mailflow -AutoDiscoverTargetMailboxServer | ConvertTo-Csv > "C:\My Documents\test-mailflow 2020-05-01.csv"

您必須已獲指派權限,才能執行此指令程式。 雖然本主題已列出這個指令程式的所有參數,不過,如果某些參數並未包含在指派給您的權限中,您可能就無法存取這些參數。 若要尋找在組織中執行任何 Cmdlet 或參數所需的權限,請參閱 Find the permissions required to run any Exchange cmdlet

範例

範例 1

Test-Mailflow Mailbox1 -TargetMailboxServer Mailbox2

此範例會測試從名稱為 Mailbox1 的伺服器到名稱為 Mailbox2 的伺服器的郵件流程。 請注意,您需要在已連線至 Mailbox1 時執行此命令。

範例 2

Test-Mailflow -TargetEmailAddress john@contoso.com

此範例會測試從您執行此命令的本機信箱伺服器到電子郵件地址 john@contoso.com 的訊息流程。

參數

-ActiveDirectoryTimeout

ActiveDirectoryTimeout 參數會指定在此工作提供有關延遲的資訊性郵件之前所要經過的秒數。 預設值為 15 秒。

Type:Int32
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

-AutoDiscoverTargetMailboxServer

AutoDiscoverTargetMailboxServer 參數會指定是否自動填入要接收測試郵件的目標 Mailbox Server 的清單。 您不需要使用此參數指定值。

工作會查詢 Active Directory 以探索所有信箱伺服器,然後傳送測試訊息給每部伺服器。

使用此參數時,則無法使用 CrossPremises、TargetDatabase、TargetEmailAddress 或 TargetMailboxServer 參數。

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

-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

-CrossPremises

CrossPremises 參數會指定是否要以跨單位模式執行郵件流程測試。

如果您的組織使用的是跨單位部署,而且您想要驗證跨單位郵件流程,請將這個參數設定為 $true。

使用此參數時,則無法使用 AutoDiscoverTargetMailboxServer、TargetDatabase、TargetEmailAddress 或 TargetMailboxServer 參數。

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

-CrossPremisesExpirationTimeout

由 Microsoft System Center Operations Manager 2007 代理程式執行這個指令程式以進行非同步監視時,會使用 CrossPremisesExpirationTimeout 參數。 如果是手動執行這個指令程式,則不建議使用這個參數。

Type:EnhancedTimeSpan
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

-CrossPremisesPendingErrorCount

由 System Center Operations Manager 2007 代理程式執行這個指令程式以進行非同步監視時,會使用 CrossPremisesPendingErrorCount 參數。 如果是手動執行這個指令程式,則不建議使用這個參數。

Type:Int32
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

-DomainController

DomainController 參數會指定此 Cmdlet 用來向 Active Directory 讀取或寫入資料的網域控制站。 您可以透過網域控制站的完整網域名稱 (FQDN) 來識別網域控制站。 例如,dc01.contoso.com。

Type:Fqdn
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

-ErrorLatency

ErrorLatency 參數會指定在 Microsoft System Center Operations Manager 2007 中記錄錯誤事件之前,要傳遞測試郵件所必須等候的時間。 測試郵件傳送至本機 Mailbox Server 的預設值是 15 秒,而傳送至遠端 Mailbox Server 的預設值則是 180 秒。

Type:Int32
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

-ExecutionTimeout

ExecutionTimeout 參數會指定在判定測試失敗之前,此工作可執行的最長時間。 如果在此時間到期之前沒有任何測試郵件或傳遞回報送達,此工作即會結束並回報錯誤。 在 Exchange 管理命令介面中執行工作時,預設設定為 240 秒。 若使用了 MonitoringContext 參數,則預設設定為 15 秒。

Type:Int32
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 參數可指定傳送測試郵件的來源 Mailbox Server 名稱。 您可以使用唯一識別伺服器的任何值。 例如:

  • Name
  • FQDN
  • 辨別名稱 (DN)
  • Exchange Legacy DN

如果您未使用此參數,則會使用本機 Mailbox Server。

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

-MonitoringContext

MonitoringContext 參數指定是否要在結果中納入相關的監視事件與效能計數器。 有效值為:

  • $true:命令結果中包含監視事件和效能計數器。 一般而言,當輸出傳遞至 Microsoft System Center Operations Manager (SCOM) 時,您會在結果中包含監視事件和效能計數器。
  • $false:監視事件和效能計數器不會包含在命令結果中。 這是預設值。
Type:Boolean
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

-TargetDatabase

TargetDatabase 參數會指定要接收測試郵件的信箱資料庫。 您可以使用唯一識別資料庫的任何值。 例如:

  • 名稱
  • 辨別名稱 (DN)
  • GUID

您無法搭配 AutoDiscoverTargetMailboxServer、CrossPremises、TargetEmailAddress 或 TargetMailboxServer 參數使用此參數。

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

-TargetEmailAddress

TargetEmailAddress 參數會指定要接收測試郵件之信箱的 SMTP 位址。 使用此參數可將測試郵件傳送至遠端樹系中的 Mailbox Server。 如果使用了此參數,則此測試一律為遠端測試。

使用此參數時,則無法使用 AutoDiscoverTargetMailboxServer、CrossPremises、TargetDatabase 或 TargetMailboxServer 參數。

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

-TargetEmailAddressDisplayName

TargetEmailAddressDisplayName 參數會指定使用 TargetEmailAddress 參數時,Microsoft System Center Operations Manager 2007 中用於事件和報告的自訂顯示名稱。 如果您未使用 TargetEmailAddressDisplayName 參數,則事件和報告會使用 TargetEmailAddress 參數所指定的電子郵件地址值。

此參數僅適用于 TargetEmailAddress 參數,而且不會影響 Microsoft System Center Operations Manager 外部的 Cmdlet 輸出。

Type:String
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

-TargetMailboxServer

TargetMailboxServer 參數會指定本機 Exchange 組織中要傳送測試訊息的一或多部信箱伺服器。 您可以使用唯一識別伺服器的任何值。 例如:

  • Name
  • FQDN
  • 辨別名稱 (DN)
  • Exchange Legacy DN

使用此參數時,則無法使用 AutoDiscoverTargetMailboxServer、CrossPremises、TargetDatabase 或 TargetEmailAddress 參數。

Type:ServerIdParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
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

若要查看此指令程式可接受的傳回類型 (也就是所謂的輸出類型),請參閱指令程式輸入和輸出類型。 如果 [輸出類型] 欄位是空的,表示指令程式不會傳回資料。