Test-Mailflow

Этот командлет доступен только в локальной среде Exchange.

Командлет Test-Mailflow используется для проверки возможности успешной отправки почты из системного почтового ящика на сервере почтовых ящиков, а также доставки почты в этот ящик. Можно также использовать командлет для проверки отправки почты между серверами почтовых ящиков в пределах определенного порога задержки.

Сведения о наборах параметров в разделе Синтаксис ниже см. В разделе Синтаксис командлета Exchange.

Синтаксис

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>]

Описание

Командлет Test-Mailflow проверяет отправку, передачу и доставку почты. Он проверяет, может ли каждый сервер почтовых ящиков успешно отправить себе сообщение. Командлет можно также использовать для проверки того, что системный почтовый ящик на одном сервере почтовых ящиков может успешно отправить сообщение системному почтовому ящику на другом сервере. Системный почтовый ящик необходим на всех серверах, которые участвуют в проверке.

Проверочные сообщения находятся в системном почтовом ящике или почтовом ящике целевого пользователя. Тема сообщения — Test-Mailflow <GUID>, а текст сообщения содержит текст This is a Test-Mailflow probe message.

Результаты команды Test-Mailflow отображаются на экране. Интересными значениями являются следующие:

  • TestMailflowResult: обычно возвращаются значения Success или *FAILURE*.
  • MessageLatencyTime: время, необходимое для завершения теста (доставка тестового сообщения). Для значения используется синтаксис чч:мм:сс.ff, где чч = часы, мм = минуты, сс = секунды, а ff = доли секунды.

Результаты Test-Mailflow можно записать в файл, перенаписав выходные данные в ConvertTo-Html или ConvertTo-Csv и добавив > <filename> в команду . Пример: Test-Mailflow -AutoDiscoverTargetMailboxServer | ConvertTo-Csv > "C:\My Documents\test-mailflow 2020-05-01.csv".

Для его запуска необходимо получить соответствующие разрешения. В этой статье перечислены все параметры командлета. Но некоторые из них могут быть вам не доступны, если они не включены в назначенные разрешения. Сведения о необходимых разрешениях для запуска командлетов и использования параметров в организации см. в статье 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 указывает, заполнять ли автоматически список целевых серверов почтовых ящиков для отправки тестового сообщения. Указывать значение для этого параметра необязательно.

Задача запрашивает 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

Переключатель подтверждения указывает, показывать или скрывать запрос подтверждения. Влияние этого параметра на командлет зависит от того, требуется ли командлету подтверждение перед выполнением.

  • Деструктивные командлеты (например, командлеты 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

-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

Параметр CrossPremisesExpirationTimeout используется при запуске этого командлета агентами Microsoft System Center Operations Manager 2007 в целях асинхронного мониторинга. Не рекомендуется использовать этот параметр при ручном запуске этого командлета.

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

Параметр CrossPremisesPendingErrorCount используется при запуске этого командлета агентами System Center Operations Manager 2007 в целях асинхронного мониторинга. Не рекомендуется использовать этот параметр при ручном запуске этого командлета.

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 указывает контроллер домена, который используется этим командлетом для чтения или записи данных в 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. При отправке тестового сообщения на локальный сервер почтовых ящиков значение по умолчанию равно 15 с и 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 определяет имя исходного сервера почтовых ящиков, с которого отправляется тестовое сообщение. Можно использовать любое значение, однозначно определяющее сервер. Примеры:

  • Имя.
  • полное доменное имя;
  • различающееся имя (DN);
  • Устаревшее различающееся имя Exchange

Если вы не используете этот параметр, будет использоваться локальный сервер почтовых ящиков.

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 почтового ящика, на который отправляются тестовые сообщения. Используйте этот параметр для отправки тестовых сообщений на сервер почтовых ящиков в удаленном лесу. Если указан этот параметр, проверка всегда выполняется удаленно.

Если используется этот параметр, то параметры 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 указывает настраиваемое отображаемое имя, которое используется для событий и отчетов в Microsoft System Center Operations Manager 2007, когда используется параметр TargetEmailAddress. Если параметр TargetEmailAddressDisplayName не используется, события и отчеты используют значение адреса электронной почты, заданное параметром TargetEmailAddress.

Этот параметр доступен только в параметре TargetEmailAddress и не влияет на выходные данные командлета за пределами Microsoft System Center Operations Manager.

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 для отправки тестовых сообщений. Можно использовать любое значение, однозначно определяющее сервер. Примеры:

  • Имя.
  • полное доменное имя;
  • различающееся имя (DN);
  • Устаревшее различающееся имя Exchange

Если используется этот параметр, то параметры 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

Сведения о типах возвращаемых данных, которые также называются типами выходных данных, которые принимает этот командлет, см. в разделе Типы входных и выходных данных командлетов. Если поле Тип вывода пусто, командлет не возвращает данные.