Поделиться через


Test-Connection

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

Синтаксис

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

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

В отличие от знакомой команды ping, Test-Connection возвращает объект TestConnectionCommand+PingStatus, который можно исследовать в PowerShell. Параметр Quiet возвращает логическое значение в объекте System.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 отправляются в выходной поток, один объект на ответ связи от целевого компьютера.

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

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

Test-Connection -TargetName Server01, Server02, Server12

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

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

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

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

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

Пример 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 , если любой из четырех pings успешно выполнен. Если ни одна из ping не выполнена успешно, значение равно $False.

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

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

В PowerShell 6.0 параметр Traceroute сопоставляет маршрут между локальным компьютером и удаленным назначением, указанным с параметром 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-подключения

При использовании подробного параметра этот командлет возвращает подробные сведения о состоянии попыток ПОДКЛЮЧЕНИЯ 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
Aliases:Size, Bytes, BS
Position:Named
Default value:32
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Count

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

Тип:Int32
Position:Named
Default value:4
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Delay

Задает интервал между проверками связи в секундах.

Тип:Int32
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Detailed

При использовании подробного параметра этот командлет возвращает подробные сведения о состоянии попыток ПОДКЛЮЧЕНИЯ TCP.

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

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DontFragment

Этот параметр задает флаг "Не фрагментировать " в заголовке IP- адреса. Этот параметр можно использовать с параметром BufferSize для проверки размера MTU пути. Дополнительные сведения о Path MTU см . в статье "Обнаружение пути MTU " в википедии.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-IPv4

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

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-IPv6

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

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MaxHops

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

Тип:Int32
Aliases:Ttl, TimeToLive, Hops
Position:Named
Default value:128
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-MtuSize

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

Тип:SwitchParameter
Aliases:MtuSizeDetect
Position:Named
Default value:False
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Ping

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

Тип:SwitchParameter
Position:Named
Default value:True
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Quiet

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

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

Если любая связь с заданным целевым объектом успешно выполнена, $True возвращается.

Если возвращается сбой $False всех пингов к заданному целевому объекту.

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Repeat

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

Тип:SwitchParameter
Aliases:Continuous
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ResolveDestination

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

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Source

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

Примечание.

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

Тип:String
Position:Named
Default value:Local computer
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TargetName

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

Тип:String[]
Aliases:ComputerName
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-TcpPort

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

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

  • Командлет возвращается $True , если подключение выполнено.
  • Командлет возвращается $False , если соединение не сделано.
Тип:Int32
Position:Named
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-TimeoutSeconds

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

Этот параметр появился в PowerShell 6.0.

Тип:Int32
Position:Named
Default value:5 seconds
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Traceroute

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

Тип:SwitchParameter
Position:Named
Default value:False
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

None

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

Выходные данные

Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus

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

Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus

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

Boolean

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

Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus

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

Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus

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

Примечания

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