Test-Connection
Отправляет пакеты эхо-запроса ICMP или pings на один или несколько компьютеров.
Синтаксис
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Credential <PSCredential>]
[-Source] <String[]>
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[-Quiet]
[<CommonParameters>]
Описание
Командлет Test-Connection
отправляет пакеты запросов на эхо-запросы (ICMP) протокола управления Интернетом или pings на один или несколько удаленных компьютеров и возвращает ответы на эхо-ответы. Этот командлет можно использовать для определения того, можно ли связаться с определенным компьютером через IP-сеть.
Параметры можно использовать для указания как отправки Test-Connection
, так и для получения компьютеров, для выполнения команды в качестве фонового задания, задания времени ожидания и количества пингов, а также для настройки подключения и проверки подлинности.
В отличие от знакомой команды ping, Test-Connection
возвращает объект Win32_PingStatus, который можно исследовать в PowerShell. Параметр Quiet возвращает логическое значение в объекте System.Boolean для каждого проверенного подключения. Если тестируются несколько подключений, возвращается массив логических значений.
Примеры
Пример 1. Отправка запросов эхо на удаленный компьютер
Этот пример отправляет пакеты эхо-запроса с локального компьютера на компьютер Server01.
Test-Connection -ComputerName Server01
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 1
Test-Connection
использует параметр ComputerName для указания компьютера Server01.
Пример 2. Отправка запросов эхо на несколько компьютеров
Этот пример отправляет запросы связи с локального компьютера на несколько удаленных компьютеров.
Test-Connection -ComputerName Server01, Server02, Server12
Пример 3. Отправка запросов эхо с нескольких компьютеров на компьютер
В этом примере выполняется отправка подключений с разных исходных компьютеров на один удаленный компьютер Server01.
Test-Connection -Source Server02, Server12, localhost -ComputerName Server01 -Credential Domain01\Admin01
Test-Connection
использует параметр Credential для указания учетных данных пользователя, имеющего разрешение на отправку запроса на связь с исходных компьютеров. Этот формат команды можно использовать для тестирования задержки подключения из нескольких точек.
Пример 4. Использование параметров для настройки команды тестирования
В этом примере используются параметры Test-Connection
для настройки команды. Локальный компьютер отправляет тест проверки ping на удаленный компьютер.
Test-Connection -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32
Test-Connection
использует параметр ComputerName для указания Server01. Параметр Count указывает три проверки ping отправляются на компьютер Server01 с задержкой 2-секундных интервалов.
Вы можете использовать эти параметры, если ответ на связь, как ожидается, займет больше времени, чем обычно, из-за расширенного количества прыжков или состояния сети с высоким трафиком.
Пример 5. Запуск теста в качестве фонового задания
В этом примере показано, как выполнить Test-Connection
команду в качестве фонового задания PowerShell.
$job = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}
Команда Test-Connection
выполняет связь с множеством компьютеров в организации. Значение параметра ComputerName — это Get-Content
команда, которая считывает список имен компьютеров из .Servers.txt file
Команда использует параметр AsJob для выполнения команды в качестве фонового задания и сохраняет задание в переменной $job
.
Команда if
проверяет, что задание еще не запущено. Если задание не выполняется, Receive-Job
возвращает результаты и сохраняет их в переменной $Results
.
Пример 6. Проверка доступа к удаленному компьютеру с учетными данными
Эта команда использует Test-Connection
командлет для проверки связи с удаленным компьютером.
Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify
Команда использует параметр Credential для указания учетной записи пользователя, которая имеет разрешение на связь с удаленным компьютером и параметром олицетворения, чтобы изменить уровень олицетворения на "Идентификация".
Пример 7. Создание сеанса только в случае успешного выполнения теста подключения
В этом примере создается сеанс на компьютере Server01 только в том случае, если по крайней мере один из ping, отправленных на компьютер.
if (Test-Connection -ComputerName Server01 -Quiet) {New-PSSession Server01}
Команда if
использует Test-Connection
командлет для проверки ping компьютера Server01. Команда использует параметр Quiet, который возвращает логическое значение вместо объекта Win32_PingStatus. Значение равно $True
, если любой из четырех pings успешно выполнен и имеет значение, в противном случае $False
.
Test-Connection
Если команда возвращает значение$True
, команда использует New-PSSession
командлет для создания PSSession.
Параметры
-AsJob
Указывает, что этот командлет выполняется в качестве фонового задания. При указании параметра AsJob команда немедленно возвращает объект, представляющий фоновое задание. Можно продолжить работу в рамках данного сеанса, пока задание завершается. Чтобы получить результаты задания, используйте Receive-Job
командлет.
Дополнительные сведения о фоновых заданиях PowerShell см. в about_Jobs и about_Remote_Jobs.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-BufferSize
Указывает размер (в байтах) буфера, отправленного с помощью этой команды. Значение по умолчанию: 32.
Тип: | Int32 |
Aliases: | Size, Bytes, BS |
Position: | Named |
Default value: | 32 |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ComputerName
Указывает компьютеры для проверки связи. Введите имена компьютеров или IP-адреса в формате IPv4 или IPv6. Подстановочные знаки не допускаются. Этот параметр является обязательным.
Этот параметр не зависит от удаленного взаимодействия PowerShell. Параметр ComputerName можно использовать, даже если компьютер не настроен для выполнения удаленных команд.
Примечание.
Параметр ComputerName переименован в TargetName в PowerShell 6.0 и выше.
Тип: | String[] |
Aliases: | CN, IPAddress, __SERVER, Server, Destination |
Position: | 0 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Count
Указывает число отправляемых запросов проверки связи. Значение по умолчанию — 4.
Тип: | Int32 |
Position: | Named |
Default value: | 4 |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Credential
Указывает учетную запись, имеющую разрешение на отправку запроса проверки связи с исходного компьютера. Введите имя пользователя, например User01 или Domain01\User01, или введите объект PSCredential , например из командлета Get-Credential
.
Параметр Credential действителен только в том случае, если в команде используется параметр Source . Учетные данные не влияют на целевой компьютер.
Тип: | PSCredential |
Position: | Named |
Default value: | Current user |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-DcomAuthentication
Указывает уровень проверки подлинности, используемый этим командлетом с WMI.
Test-Connection
использует WMI.
Допустимые значения для этого параметра:
- По умолчанию. Проверка подлинности Windows
- Нет. Без проверки подлинности COM
- Подключение. Проверка подлинности COM на уровне подключения
- Вызов. Проверка подлинности COM на уровне вызова
- Пакет. Проверка подлинности COM на уровне пакетов
- PacketIntegrity. Проверка подлинности COM на уровне целостности пакета
- PacketPrivacy. Проверка подлинности COM уровня конфиденциальности пакетов
- Без изменений. Аналогично предыдущей команде
Значением по умолчанию является пакет , имеющий перечисленное значение 4. Дополнительные сведения о значениях этого параметра см. в перечислении AuthenticationLevel .
Тип: | AuthenticationLevel |
Aliases: | Authentication |
Допустимые значения: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | Packet (enumerated value of 4) |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Delay
Задает интервал между проверками связи в секундах.
Тип: | Int32 |
Position: | Named |
Default value: | 1 (second) |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Impersonation
Указывает уровень олицетворения, используемый при вызове WMI этого командлета. Test-Connection
использует WMI.
Допустимые значения для этого параметра приведены следующим образом:
- По умолчанию. олицетворение по умолчанию.
- Анонимно. скрывает удостоверение вызывающей стороны.
- Определите. позволяет объектам запрашивать учетные данные вызывающей стороны.
- Олицетворения. позволяет объектам использовать учетные данные вызывающей стороны.
Значение по умолчанию — олицетворения.
Тип: | ImpersonationLevel |
Допустимые значения: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | Impersonate |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Protocol
Указывает протокол. Допустимыми значениями этого параметра являются DCOM и WSMan.
Тип: | String |
Допустимые значения: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Quiet
Параметр Quiet возвращает логическое значение в объекте System.Boolean. Использование этого параметра подавляет все ошибки.
Каждое проверенное соединение возвращает логическое значение. Если параметр ComputerName указывает несколько компьютеров, возвращается массив логических значений.
При успешном завершении проверки подлинности $True
возвращается.
При сбое $False
всех пингов возвращается.
Тип: | SwitchParameter |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Source
Указывает имена компьютеров, на которых создается проверка связи. Введите разделенный запятыми список имен компьютеров. По умолчанию используется локальный компьютер.
Тип: | String[] |
Aliases: | FCN, SRC |
Position: | 1 |
Default value: | Local computer |
Обязательно: | True |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ThrottleLimit
Указывает максимальное число одновременных подключений, которые можно установить для запуска этой команды. Если этот параметр не указан или имеет значение 0, используется значение по умолчанию — 32.
Предел регулирования применяется только к текущему командлету, а не к сеансу или компьютеру.
Тип: | Int32 |
Position: | Named |
Default value: | 32 |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TimeToLive
Указывает максимальное время переадресации пакета. Для каждого прыжка шлюзов, маршрутизаторов и т. д. Значение TimeToLive уменьшается на один. По нулю пакет удаляется и возвращается ошибка. В Windows значение по умолчанию равно 128. Псевдоним параметра TimeToLive — TTL.
Тип: | Int32 |
Aliases: | TTL |
Position: | Named |
Default value: | 128 in Windows |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WsmanAuthentication
Указывает механизм, используемый для проверки подлинности учетных данных пользователя, когда этот командлет использует протокол WSMan. Допустимые значения для этого параметра:
- Базовая
- CredSSP
- По умолчанию.
- Дайджест
- Kerberos
- Negotiate —
Значение по умолчанию ― Default.
Дополнительные сведения о значениях этого параметра см. в разделе "Перечисление AuthenticationMechanism".
Внимание. Проверка подлинности поставщика служб безопасности учетных данных (CredSSP), в которой учетные данные пользователя передаются на удаленный компьютер для проверки подлинности, предназначена для команд, требующих проверки подлинности на нескольких ресурсах, таких как доступ к удаленному сетевому ресурсу. Этот механизм повышает риск безопасности удаленной операции. Если удаленный компьютер скомпрометирован, учетные данные, передаваемые ему, могут использоваться для управления сетевым сеансом.
Этот параметр впервые появился в Windows PowerShell 3.0.
Тип: | String |
Допустимые значения: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Default value: | Default |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
None
Невозможно передать объекты в этот командлет.
Выходные данные
По умолчанию этот командлет возвращает объект Win32_PingStatus для каждого ответа связи.
System.Management.Automation.RemotingJob
Этот командлет возвращает объект задания, если указать параметр AsJob .
При использовании параметра Quiet возвращает логическое значение. Если командлет проверяет несколько подключений, он возвращает массив логических значений.
Примечания
Этот командлет использует класс Win32_PingStatus . Команда Get-WMIObject Win32_PingStatus
эквивалентна команде Test-Connection
.
Набор параметров источника появился в PowerShell 3.0.
Связанные ссылки
PowerShell