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


Test-Connection

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

Синтаксис

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

Описание

Командлет Test-Connection отправляет пакеты эхо-запросов ICMP на один или несколько удаленных компьютеров и возвращает ответы эха. С помощью этого командлета можно определить, можно ли связаться с определенным компьютером через 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 указывает, что на компьютер Server01 отправляются три ping с интервалом задержки в 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. Create сеанса, только если проверка подключения выполнена успешно

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

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

Командлет Test-Connection связывает Server01 компьютер с указанным параметром Quiet . Результирующее значение равно , $True если какой-либо из четырех ping успешно выполнен. Если ни одна из 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 .

Параметры

-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

-DontFragment

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

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 пути. Дополнительные сведения о пути MTU см. в статье Path MTU Discovery в википедии.

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 возвращается.

Если все проверки ping для заданного целевого объекта завершаются ошибкой, $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:None
Required:True
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

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

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

TestConnectionCommand+PingStatus

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

TestConnectionCommand+TraceStatus

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

Boolean

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

TestConnectionCommand+PingMtuStatus

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