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