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 для каждого ответа связи по маршруту.
При использовании параметров Quiet или TcpPort этот командлет возвращает логическое значение. Если командлет проверяет несколько подключений, он возвращает массив логических значений.
TestConnectionCommand+PingMtuStatus
При использовании параметра MtuSize этот командлет возвращает объект TestConnectionCommand+PingMtuStatus для каждого ответа ping.