Поиск по сайту:

Test-Connection (Microsoft.PowerShell.Management)


Test-Connection

Модуль:
Microsoft.PowerShell.Management

Отправляет пакеты эхо-запросов ICMP или ping-запросы на один или несколько компьютеров.

Синтаксис

Test-Connection
    [-TargetName] <string[]>
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Count <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -Repeat
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -Traceroute
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -MtuSize
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -TcpPort <int>
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-Count <int>]
    [-Delay <int>]
    [-Repeat]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [-Detailed]
    [<CommonParameters>]

Описание

Командлет Test-Connection отправляет пакеты эхо-запросов протокола управления сообщениями Интернета (ICMP) или команды ping на один или несколько удаленных компьютеров и возвращает ответы эхо-ответа. Этот командлет можно использовать, чтобы определить, можно ли связаться с конкретным компьютером через IP-сеть.

Вы можете использовать параметры Test-Connection, чтобы указать как отправляющий, так и получающий компьютеры, запустить команду в качестве фонового задания, установить время ожидания и количество пингов, а также настроить соединение. и аутентификация.

В отличие от знакомой команды ping, Test-Connection возвращает объект TestConnectionCommand+PingStatus, который можно изучить в PowerShell. Параметр Quiet возвращает значение Boolean в объекте System.Boolean для каждого тестируемого соединения. Если тестируется несколько соединений, возвращается массив значений Boolean.

Примеры

Пример 1. Отправка эхо-запросов на удаленный компьютер

В этом примере пакеты эхо-запроса отправляются с локального компьютера на компьютер Server01.

Test-Connection -TargetName Server01 -IPv4

Destination: Server01

Ping Source           Address                   Latency BufferSize Status
                                                   (ms)        (B)
---- ------           -------                   ------- ---------- ------
   1 ADMIN1           10.59.137.44                   24         32 Success
   2 ADMIN1           10.59.137.44                   39         32 Success
   3 ADMIN1           *                               *          * TimedOut
   4 ADMIN1           10.59.137.44                   28         32 Success

Test-Connection использует параметр TargetName для указания компьютера Server01. Параметр IPv4 указывает протокол теста.

В выходной поток отправляется серия объектов TestConnectionCommand+PingStatus, по одному объекту на каждый ответ ping от целевого компьютера.

Пример 2. Отправка эхо-запросов на несколько компьютеров.

В этом примере пинг-запросы с локального компьютера отправляются на несколько удаленных компьютеров.

Test-Connection -TargetName Server01, Server02, Server12

Пример 3. Использование параметров для настройки тестовой команды

В этом примере используются параметры Test-Connection для настройки команды. Локальный компьютер отправляет пинг-тест на удаленный компьютер.

Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256

Test-Connection использует параметр TargetName для указания Server01. Параметр Count указывает, что на компьютер Server01 отправляются три запроса ping с задержкой в 2 секунды.

Вы можете использовать эти параметры, если ожидается, что ответ на запрос ping займет больше времени, чем обычно, либо из-за увеличенного количества прыжков, либо из-за состояния сети с высоким трафиком.

Пример 4. Запуск теста в качестве фонового задания.

В этом примере показано, как запустить команду Test-Connection в качестве фонового задания PowerShell.

$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait

Команда Start-Job использует командлет Test-Connection для проверки связи многих компьютеров на предприятии. Значением параметра TargetName является команда Get-Content, которая считывает список имен компьютеров из файла Servers.txt. Команда использует командлет Start-Job для запуска команды в качестве фонового задания и сохраняет задание в переменной $job.

Команда Receive-Job получает указание -Wait, пока задание не будет завершено, а затем получает результаты и сохраняет их в переменной $Results. .

Пример 5. Создание сеанса только в том случае, если проверка соединения прошла успешно.

В этом примере сеанс на компьютере Server01 создается только в том случае, если хотя бы один из ping-запросов, отправленных на компьютер, успешен.

if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }

Командлет Test-Connection проверяет связь с компьютером Server01 с предоставленным параметром Quiet. Результирующим значением будет $True, если любой из четырех ping-запросов окажется успешным. Если ни один из пингов не увенчался успехом, значением будет $False.

Если команда Test-Connection возвращает значение $True, команда использует командлет New-PSSession для создания PSSession.

Пример 6. Использование параметра Traceroute

Параметр Traceroute, представленный в PowerShell 6.0, сопоставляет маршрут между локальным компьютером и удаленным пунктом назначения, который вы указываете с помощью параметра TargetName.

Test-Connection -TargetName www.google.com -Traceroute

Target: google.com

Hop Hostname                  Ping Latency Status           Source       TargetAddress
                                      (ms)
--- --------                  ---- ------- ------           ------       -------------
  1 172.20.0.1                   1       4 Success          Lira         172.217.9.174
  1 172.20.0.1                   2       3 Success          Lira         172.217.9.174
  1 172.20.0.1                   3       2 Success          Lira         172.217.9.174
  2 12.108.153.193               1       3 Success          Lira         172.217.9.174
  2 12.108.153.193               2       3 Success          Lira         172.217.9.174
  2 12.108.153.193               3       2 Success          Lira         172.217.9.174
  3 12.244.85.177                1      11 Success          Lira         172.217.9.174
  3 12.244.85.177                2      12 Success          Lira         172.217.9.174
  3 12.244.85.177                3      12 Success          Lira         172.217.9.174
  4 *                            1      14 DestinationNetw… Lira         172.217.9.174
  4 *                            2       * TimedOut         Lira         172.217.9.174
  4 *                            3      20 DestinationNetw… Lira         172.217.9.174
  5 *                            1       * TimedOut         Lira         172.217.9.174
  5 *                            2      15 DestinationNetw… Lira         172.217.9.174
  5 *                            3       * TimedOut         Lira         172.217.9.174
  6 *                            1      18 DestinationNetw… Lira         172.217.9.174
  6 *                            2       * TimedOut         Lira         172.217.9.174
  6 *                            3      16 DestinationNetw… Lira         172.217.9.174
  7 *                            1       * TimedOut         Lira         172.217.9.174
  7 *                            2       * TimedOut         Lira         172.217.9.174
  7 *                            3       * TimedOut         Lira         172.217.9.174
  8 *                            1       * TimedOut         Lira         172.217.9.174
  8 *                            2       * TimedOut         Lira         172.217.9.174
  8 *                            3       * TimedOut         Lira         172.217.9.174
  9 *                            1       * TimedOut         Lira         172.217.9.174
  9 *                            2       * TimedOut         Lira         172.217.9.174
  9 *                            3       * TimedOut         Lira         172.217.9.174
 10 *                            1       * TimedOut         Lira         172.217.9.174
 10 *                            2       * TimedOut         Lira         172.217.9.174
 10 *                            3       * TimedOut         Lira         172.217.9.174
 11 172.217.9.174                1      23 Success          Lira         172.217.9.174
 11 172.217.9.174                2      21 Success          Lira         172.217.9.174
 11 172.217.9.174                3      22 Success          Lira         172.217.9.174

Команда Test-Connection вызывается с параметром Traceroute. Результаты, представляющие собой объекты [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus], выводятся в выходной поток Success.

Пример 7. Получение подробных результатов теста TCP-соединения.

При использовании параметра Detailed этот командлет возвращает подробную информацию о состоянии попыток TCP-подключения.

Test-Connection bing.com -TCPPort 443 -Detailed -Count 4

Target: bing.com

Id Source     Address           Port Latency(ms) Connected Status
-- ------     -------           ---- ----------- --------- ------
 1 circumflex 2620:1ec:c11::200  443          12 True      Success
 2 circumflex 2620:1ec:c11::200  443          14 True      Success
 3 circumflex 2620:1ec:c11::200  443          17 True      Success
 4 circumflex 2620:1ec:c11::200  443          17 True      Success

Параметры

-BufferSize

Указывает размер в байтах буфера, отправленного с помощью этой команды. Значение по умолчанию — 32.

Тип :

Int32

Псевдонимы:

Size, Bytes, BS

Позиция:

Именованный

Значение по умолчанию:

32

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Count

Указывает количество отправляемых эхо-запросов. Значение по умолчанию — 4.

Тип :

Int32

Позиция:

Именованный

Значение по умолчанию:

4

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Delay

Указывает интервал между пингами в секундах.

Тип :

Int32

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Detailed

При использовании параметра Detailed этот командлет возвращает подробную информацию о состоянии попыток TCP-подключения.

Этот параметр был добавлен в PowerShell 7.4.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-DontFragment

Этот параметр устанавливает флаг Не фрагментировать в заголовке IP. Вы можете использовать этот параметр вместе с параметром BufferSize, чтобы проверить размер Path MTU. Дополнительные сведения о Path MTU см. в статье Path MTU Discovery в Википедии.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-IPv4

Заставляет командлет использовать для теста протокол IPv4.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-IPv6

Заставляет командлет использовать для теста протокол IPv6.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-MaxHops

Устанавливает максимальное количество переходов, на которые может быть отправлено сообщение запроса ICMP. Значение по умолчанию контролируется операционной системой. Значение по умолчанию для Windows 10 и более поздних версий — 128 прыжков.

Тип :

Int32

Псевдонимы:

Ttl, TimeToLive, Hops

Позиция:

Именованный

Значение по умолчанию:

128

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-MtuSize

Этот параметр используется для определения размера Path MTU. Командлет возвращает объект PingReply#MTUSize, содержащий размер MTU пути к цели. Дополнительные сведения о Path MTU см. в статье Path MTU Discovery в Википедии.

Тип :

SwitchParameter

Псевдонимы:

MtuSizeDetect

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Ping

Заставляет командлет выполнять проверку связи. Это режим по умолчанию для командлета Test-Connection.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

True

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Quiet

Параметр Quiet возвращает логическое значение. Использование этого параметра подавляет все ошибки.

Каждое проверенное соединение возвращает значение Boolean. Если параметр TargetName указывает несколько компьютеров, возвращается массив логических значений.

Если любой пинг до заданной цели завершается успешно, возвращается $True.

Если все пинги до заданной цели завершаются неудачей, возвращается $False.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Repeat

Заставляет командлет непрерывно отправлять запросы проверки связи. Если значение TargetName представляет собой массив целей, командлет повторяет запросы проверки связи только для первой цели. Он игнорирует остальные цели. Этот параметр нельзя использовать с параметром Count.

Тип :

SwitchParameter

Псевдонимы:

Continuous

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-ResolveDestination

Заставляет командлет попытаться разрешить DNS-имя цели. При использовании в сочетании с параметром Traceroute также будут получены DNS-имена всех промежуточных хостов, если это возможно.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Source

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

Примечание

Этот параметр не поддерживается в PowerShell версий 6 и более поздних. Указание этого параметра приводит к ошибке.

Тип :

String

Позиция:

Именованный

Значение по умолчанию:

Локальный компьютер

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-TargetName

Указывает компьютер(ы) для тестирования. Введите имена компьютеров или IP-адреса в формате IPv4 или IPv6.

Тип :

String[]

Псевдонимы:

ComputerName

Позиция:

0

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

True

Принимайте подстановочные знаки:

False

-TcpPort

Указывает номер TCP-порта на целевом объекте, который будет использоваться в тесте TCP-соединения.

Командлет пытается установить TCP-соединение с указанным портом на целевом объекте.

  • Командлет возвращает $True, если соединение установлено.
  • Командлет возвращает $False, если соединение не установлено.
Тип :

Int32

Позиция:

Именованный

Значение по умолчанию:

None

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-TimeoutSeconds

Устанавливает значение тайм-аута для теста. Тест завершается неудачей, если ответ не получен до истечения времени ожидания. По умолчанию — пять секунд.

Этот параметр был введен в PowerShell 6.0.

Тип :

Int32

Позиция:

Именованный

Значение по умолчанию:

5 секунд

Необходимый:

False

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

-Traceroute

Заставляет командлет выполнить проверку трассировки. При использовании этого параметра командлет возвращает объект TestConnectionCommand+TraceStatus.

Тип :

SwitchParameter

Позиция:

Именованный

Значение по умолчанию:

False

Необходимый:

True

Примите ввод конвейера:

False

Принимайте подстановочные знаки:

False

Входы

Нет

Вы не можете передавать объекты в этот командлет.

Выходы

Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus

По умолчанию этот командлет возвращает объект TestConnectionCommand+PingStatus для каждого ответа ping.

Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus

При использовании параметра Traceroute этот командлет возвращает объект TestConnectionCommand+TraceStatus для каждого ответа ping на маршруте.

Логическое значение

При использовании параметров Quiet или TcpPort этот командлет возвращает Boolean значение. Если командлет проверяет несколько соединений, он возвращает массив значений Boolean.

Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus

При использовании параметра MtuSize этот командлет возвращает объект TestConnectionCommand+PingMtuStatus для каждого ответа на запрос проверки связи.

Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus

При использовании параметра Detailed этот командлет возвращает объект TestConnectionCommand+TcpPortStatus, который показывает состояние TCP-соединения.

Примечания

В Linux использование параметра BufferSize или любой комбинации параметров с набором параметров MtuSizeDetect, в результате чего размер буфера не по умолчанию составляет 32 байта, может потребовать sudo. В этих случаях Test-Command вызывает исключение с сообщением, указывающим, что требуется sudo.