Поделиться через


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. Псевдоним параметра TimeToLiveTTL.

Тип: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

Невозможно передать объекты в этот командлет.

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

ManagementObject

По умолчанию этот командлет возвращает объект Win32_PingStatus для каждого ответа связи.

System.Management.Automation.RemotingJob

Этот командлет возвращает объект задания, если указать параметр AsJob .

Boolean

При использовании параметра Quiet возвращает логическое значение. Если командлет проверяет несколько подключений, он возвращает массив логических значений.

Примечания

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

Набор параметров источника появился в PowerShell 3.0.