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

Синтаксис

Test-Connection [-ComputerName] <string[]> [[-Source] <string[]>] [-AsJob] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-BufferSize <int>] [-Count <int>] [-Credential <PSCredential>] [-Delay <int>] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Quiet] [-ThrottleLimit <int>] [-TimeToLive <int>] [<CommonParameters>]

Описание

Командлет Test-Connection отправляет пакеты эхо-запросов по протоколу ICMP (запросы проверки связи) одному или нескольким компьютерам и возвращает эхо-ответы. С помощью этого командлета можно определить, можно ли связаться с определенным компьютером по сети IP.

С помощью параметров командлета Test-Connection можно задавать компьютер-отправитель и компьютер-получатель, выполнять команду в качестве фонового задания, задавать время ожидания и количество запросов, а также настраивать соединение и проверку подлинности.

В отличие от стандартной команды "ping", командлет Test-Connection возвращает объект Win32_PingStatus, который можно изучить в Windows PowerShell, при этом можно использовать параметр Quiet, чтобы возвращалось только логическое значение.

Параметры

-AsJob

Запускает команду в качестве фонового задания.

Примечание. Чтобы использовать этот параметр, локальный и удаленный компьютер должны быть настроены на удаленное взаимодействие, и запуск Windows PowerShell под управлением Windows Vista и более поздних версий Windows должен выполняться командой "Запуск от имени администратора". Дополнительные сведения см. в разделе about_Remote_Requirements.

При использовании параметра AsJob команда немедленно возвращает объект, представляющий фоновое задание. Можно продолжить работу в рамках данного сеанса, пока задание завершается. Задание создается на локальном компьютере, и результаты с удаленных компьютеров автоматически возвращаются на локальный компьютер. Чтобы получить результаты задания, используйте командлет Receive-Job.

Дополнительные сведения о фоновых заданиях в Windows PowerShell см. в разделах about_Jobs и about_Remote_Jobs.

Обязательно?

false

Позиция?

named

Значение по умолчанию

False

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Authentication <AuthenticationLevel>

Задает уровень проверки подлинности, используемый для WMI-соединения. (Командлет Test-Connection использует WMI.)

Допустимые значения:

Unchanged: уровень проверки подлинности такой же, как и у предыдущей команды.

Default: проверка подлинности Windows.

None: проверка подлинности COM не используется.

Connect: проверка подлинности COM уровня соединения.

Call: проверка подлинности COM уровня вызова.

Packet: проверка подлинности COM уровня пакета.

PacketIntegrity: проверка подлинности COM уровня целостности пакета.

PacketPrivacy: проверка подлинности COM уровня конфиденциальности пакета.

Обязательно?

false

Позиция?

named

Значение по умолчанию

4

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-BufferSize <int>

Задает размер в байтах буфера, отправляемого с данной командой. По умолчанию используется значение 32.

Обязательно?

false

Позиция?

named

Значение по умолчанию

32

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-ComputerName <string[]>

Задает компьютеры, на которые отправляются запросы проверки связи. Введите имена компьютеров или введите IP-адреса в формате IPv4 или IPv6. Подстановочные знаки запрещены. Это обязательный параметр.

Этот параметр не использует удаленное взаимодействие Windows PowerShell. Параметр ComputerName можно использовать, даже если компьютер не настроен на выполнение удаленных команд.

Обязательно?

true

Позиция?

1

Значение по умолчанию

Принимать входные данные из конвейера?

true (ByPropertyName)

Принимать подстановочные знаки?

false

-Count <int>

Задает количество отправляемых эхо-запросов. По умолчанию используется значение 4.

Обязательно?

false

Позиция?

named

Значение по умолчанию

4

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Credential <PSCredential>

Задает учетную запись пользователя, который располагает разрешением для выполнения этого действия. Введите имя пользователя, например "User01" или "Domain01\User01", или введите объект PSCredential, например объект, возвращаемый командлетом Get-Credential.

Обязательно?

false

Позиция?

named

Значение по умолчанию

Current user

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Delay <int>

Задает интервал между запросами в секундах.

Обязательно?

false

Позиция?

named

Значение по умолчанию

1 (second)

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Impersonation <ImpersonationLevel>

Задает уровень олицетворения при вызове WMI. (Командлет Test-Connection использует WMI.) По умолчанию используется значение "Impersonate".

Допустимые значения:

Default: олицетворение по умолчанию.

Anonymous: скрывает идентификатор вызывающего.

Identify: позволяет объектам запрашивать учетные данные вызывающего.

Impersonate: позволяет объектам использовать учетные данные вызывающего.

Обязательно?

false

Позиция?

named

Значение по умолчанию

3

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Quiet

Подавляет все ошибки и возвращает значение $True, если хотя бы одна попытка проверки связи (ping) успешно завершается, и значение $False, если все попытки проверки связи завершились неудачно.

Обязательно?

false

Позиция?

named

Значение по умолчанию

False

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-Source <string[]>

Задает имена компьютеров, с которых отправляются запросы проверки связи. Введите список имен компьютеров, разделенных запятыми. По умолчанию используется значение "Локальный компьютер".

Обязательно?

false

Позиция?

2

Значение по умолчанию

Local computer

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-ThrottleLimit <int>

Задает максимальное количество одновременных соединений, которые могут быть установлены для выполнения данной команды. Если этот параметр не задан или для него введено значение 0, используется значение по умолчанию 32.

Ограничение скорости относится только к текущей команде, но не к сеансу или компьютеру.

Обязательно?

false

Позиция?

named

Значение по умолчанию

32

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

-TimeToLive <int>

Задает максимальное время активности каждого пакета эхо-запроса (запроса проверки связи) в секундах. По умолчанию используется значение 80 (секунд). Псевдоним параметра TimeToLive —TTL.

Обязательно?

false

Позиция?

named

Значение по умолчанию

80

Принимать входные данные из конвейера?

false

Принимать подстановочные знаки?

false

<CommonParameters>

Данный командлет поддерживает общие параметры -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer и -OutVariable. Дополнительные сведения см. в разделе about_Commonparameters.

Ввод и вывод

Входным типом является тип объектов, которые можно передавать командлету по конвейеру. Возвращаемым типом является тип объектов, возвращаемых командлетом.

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

Нет

Передать входные данные этому командлету по конвейеру невозможно.

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

System.Management.ManagementObject#root\cimv2\Win32_PingStatus, System.Management.Automation.RemotingJob, System.Boolean

Если задан параметр AsJob, командлет возвращает объект задания. При использовании параметра Quiet возвращается логическое значение. В противном случае этот командлет возвращает объект Win32_PingStatus для каждой команды проверки связи (ping).

Примечания

Этот командлет использует класс Win32_PingStatus. Команда "get-wmiojbect win32_pingstatus" эквивалентна команде Test-Connection.

Пример 1

C:\PS>test-connection server01

Source		Destination	 IPV4Address	 IPV6Address  Bytes	Time(ms)
------		-----------	 -----------	 -----------  -----	--------
ADMIN1		Server01		157.59.137.44				32	 0
ADMIN1		Server01		157.59.137.44				32	 0
ADMIN1		Server01		157.59.137.44				32	 0
ADMIN1		Server01		157.59.137.44				32	 1

Описание
-----------
Эта команда отправляет пакеты эхо-запросов (запросы проверки связи) с локального компьютера компьютеру Server01. В команде используется параметр ComputerName для задания компьютера Server01, однако необязательное имя параметра в данном случае опущено.






Пример 2

C:\PS>test-connection -computername server01, server02, server12 -credential domain01\user01

Описание
-----------
Эта команда отправляет запросы проверки связи с локального компьютера нескольким удаленным компьютерам. В ней используется параметр Credential для указания учетной записи пользователя, который располагает разрешениями для проверки связи со всеми удаленными компьютерами.






Пример 3

C:\PS>test-connection -source Server02, Server 12, localhost -computername Server01

Описание
-----------
Эта команда отправляет запросы проверки связи (ping) от различных компьютеров-источников одному удаленному компьютеру Server01. Данный формат команды можно использовать для проверки задержки соединений из нескольких точек.






Пример 4

C:\PS>test-connection -computername Server01 -count 3 -delay 2 -TTL 256 -buffersize 256 -throttle 32

Описание
-----------
Эта команда отправляет три запроса проверки связи с локального компьютера компьютеру Server01. Для настройки команды используются параметры командлета Test-Connection.

Данный формат команды можно использовать, когда ожидается, что получение ответов на запросы проверки связи займет дольше, чем обычно — либо из-за большого количества прыжков, либо из-за интенсивности трафика в сети.






Пример 5

C:\PS>$job = test-connection -computername (get-content servers.txt) -asjob

C:\PS> if ($job.jobstateinfo.state -ne "Running") {$results = receive-job $job}

Описание
-----------
В этом примере показано, как выполнить команду Test-Connection в качестве фонового задания Windows PowerShell. 

Первая команда использует командлет Test-Connection для проверки связи с несколькими компьютерами предприятия. Значением параметра ComputerName является команда Get-Content, которая считывает список имен компьютеров из файла Servers.txt. Параметр AsJob используется для выполнения команды в качестве фонового задания.

Вторая команда проверяет, не завершилось ли еще задание и, если оно завершилось, с помощью команды Receive-Job получает результаты и сохраняет их в переменной $results.






Пример 6

C:\PS>test-connection Server55 -credential domain55\user01 -impersonation Identify

Описание
-----------
В этой команде используется командлет Test-Connection для проверки связи с удаленным компьютером. Параметр Credential используется для задания учетной записи пользователя, располагающего разрешениями для проверки связи с удаленным компьютером, а параметр Impersonation — для изменения уровня олицетворения на "Identify".






Пример 7

C:\PS>if (test-connection -computername Server01 -quiet) {new-pssession Server01}

Описание
-----------
Эта команда создает сеанс PSSession на компьютере Server01, только если хотя бы одна попытка проверки связи завершается успешно.

Эта команда использует командлет Test-Connection для проверки связи с компьютером Server01. В команде используется параметр Quiet, возвращающий логическое значение вместо объекта Win32_PingStatus. Значение $True возвращается, если любая из четырех попыток проверки связи завершается успешно, в противном случае возвращается значение $False.

Если команда Test-Connection возвращает значение $True, создается сеанс PSSession при помощи командлета New-PSSession.






См. также