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 возвращает объект Test Подключение ionCommand+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 указывает протокол для теста.

Ряд объектов Test Подключение ionCommand+PingStatus отправляются в выходной поток, один объект на ответ ping от целевого компьютера.

Пример 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.

Type:Int32
Aliases:Size, Bytes, BS
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Count

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

Type:Int32
Position:Named
Default value:4
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delay

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Detailed

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

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DontFragment

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv4

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv6

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxHops

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

Type:Int32
Aliases:Ttl, TimeToLive, Hops
Position:Named
Default value:128
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MtuSize

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

Type:SwitchParameter
Aliases:MtuSizeDetect
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Ping

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

Type:SwitchParameter
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Quiet

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

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

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

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repeat

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

Type:SwitchParameter
Aliases:Continuous
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResolveDestination

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Source

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

Примечание.

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

Type:String
Position:Named
Default value:Local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TargetName

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

Type:String[]
Aliases:ComputerName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TcpPort

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

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

  • Командлет возвращается $True , если подключение выполнено.
  • Командлет возвращается $False , если соединение не сделано.
Type:Int32
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSeconds

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

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

Type:Int32
Position:Named
Default value:5 seconds
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Traceroute

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

Type:SwitchParameter
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

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

None

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

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

Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus

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

Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus

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

Boolean

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

Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus

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

Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus

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

Примечания

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