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 для каждого ответа связи по маршруту.
При использовании параметров Quiet или TcpPort этот командлет возвращает логическое значение. Если командлет проверяет несколько подключений, он возвращает массив логических значений.
Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus
При использовании параметра MtuSize этот командлет возвращает объект TestConnectionCommand+PingMtuStatus для каждого ответа связи.
Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus
При использовании подробного параметра этот командлет возвращает объект TestConnectionCommand+TcpPortStatus, показывающий состояние TCP-подключения.
Примечания
В Linux с помощью параметра BufferSize или любого сочетания параметров с набором параметров MtuSizeDetect , который приводит к тому, что размер буфера, не относящийся к умолчанию, может потребоваться sudo
32 байта. В этих случаях Test-Command
вызывает исключение с сообщением, указывающим, что sudo
это необходимо.
Связанные ссылки
PowerShell