Test-Connection

Envía paquetes de solicitudes de eco de ICMP, o pings, a uno o varios equipos.

Sintaxis

PingCount (valor predeterminado)

Test-Connection
    [-TargetName] <String[]>
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-MaxHops <Int32>]
    [-Count <Int32>]
    [-Delay <Int32>]
    [-BufferSize <Int32>]
    [-DontFragment]
    [-TimeoutSeconds <Int32>]
    [-Quiet]
    [<CommonParameters>]

PingContinues

Test-Connection
    [-TargetName] <String[]>
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-MaxHops <Int32>]
    [-Delay <Int32>]
    [-BufferSize <Int32>]
    [-DontFragment]
    [-Continues]
    [-TimeoutSeconds <Int32>]
    [-Quiet]
    [<CommonParameters>]

DetectionOfMTUSize

Test-Connection
    [-TargetName] <String[]>
    -MTUSizeDetect
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-TimeoutSeconds <Int32>]
    [-Quiet]
    [<CommonParameters>]

TraceRoute

Test-Connection
    [-TargetName] <String[]>
    -Traceroute
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-MaxHops <Int32>]
    [-TimeoutSeconds <Int32>]
    [-Quiet]
    [<CommonParameters>]

ConnectionByTCPPort

Test-Connection
    [-TargetName] <String[]>
    -TCPPort <Int32>
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-TimeoutSeconds <Int32>]
    [-Quiet]
    [<CommonParameters>]

Description

El cmdlet Test-Connection envía paquetes de solicitudes de eco del Protocolo de mensajes de control de Internet (ICMP), o pings, a uno o varios equipos remotos y devuelve las respuestas de eco. Puede usar este cmdlet para determinar si se puede ponerse en contacto con un equipo determinado a través de una red IP.

Puede usar los parámetros de Test-Connection para especificar los equipos de envío y recepción, para ejecutar el comando como un trabajo en segundo plano, para establecer un tiempo de espera y un número de pings, y para configurar la conexión y la autenticación.

A diferencia del comando ping conocido, Test-Connection devuelve un objeto TestConnectionCommand+PingReport que puede investigar en PowerShell. El parámetro Quiet devuelve un valor Booleano en un objeto System.Boolean para cada conexión probada. Si se prueban varias conexiones, se devuelve una matriz de valores Booleanos .

Ejemplos

Ejemplo 1: Envío de solicitudes de eco a un equipo remoto

En este ejemplo se envían paquetes de solicitud de eco desde el equipo local al equipo Server01.

Test-Connection -TargetName Server01 -IPv4
Pinging Server01 [10.59.137.44] with 32 bytes of data:
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Ping complete.

Source     Destination Replies
------     ----------- -------
Server01   Server01    {System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation ...

Test-Connection usa el parámetro TargetName para especificar el equipo Server01. El parámetro IPv4 especifica el protocolo para la prueba.

La salida de ping se envía a la secuencia de información , mientras que el objeto TestConnectionCommand+PingReport se envía a la secuencia de éxito . Para obtener más información sobre los flujos de salida, consulte about_Redirection.

Ejemplo 2: Envío de solicitudes de eco a varios equipos

En este ejemplo se envían pings desde el equipo local a varios equipos remotos.

Test-Connection -TargetName Server01, Server02, Server12

Ejemplo 3: Envío de solicitudes de eco desde varios equipos a un equipo

En este ejemplo se envían pings de equipos de origen diferentes a un único equipo remoto, Server01.

Test-Connection -Source Server02, Server12, localhost -TargetName Server01

Use este formato de comando para probar la latencia de las conexiones desde varios puntos.

Ejemplo 4: Uso de parámetros para personalizar el comando de prueba

En este ejemplo se usan los parámetros de Test-Connection para personalizar el comando. El equipo local envía una prueba de ping a un equipo remoto.

Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256

Test-Connection usa el parámetro TargetName para especificar Server01. El parámetro Count especifica que se envían tres pings al equipo Server01 con un retraso de intervalos de 2 segundos.

Puede usar estas opciones cuando se espera que la respuesta de ping tarde más de lo habitual, ya sea debido a un número extendido de saltos o a una condición de red de tráfico elevado.

Ejemplo 5: Ejecución de una prueba como trabajo en segundo plano

En este ejemplo se muestra cómo ejecutar un comando Test-Connection como un trabajo en segundo plano de PowerShell.

$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content "Servers.txt") }
if ($job.JobStateInfo.State -ne "Running") { $Results = Receive-Job $job }

El comando Start-Job usa el cmdlet Test-Connection para hacer ping a muchos equipos de una empresa. El valor del parámetro TargetName es un comando Get-Content que lee una lista de nombres de equipo del archivo Servers.txt. El comando usa el cmdlet Start-Job para ejecutar el comando como un trabajo en segundo plano y guarda el trabajo en la variable $job.

El comando if comprueba si el trabajo aún no se está ejecutando. Si el trabajo no se está ejecutando, Receive-Job obtiene los resultados y los almacena en la variable $Results.

Ejemplo 6: Crear una sesión solo si una prueba de conexión se realiza correctamente

En este ejemplo se crea una sesión en el equipo Server01 solo si al menos uno de los pings enviados a él tiene éxito.

if (Test-Connection -TargetName Server01 -Quiet) {New-PSSession Server01}

El comando if usa el cmdlet Test-Connection para hacer ping al equipo Server01. El comando usa el parámetro Quiet , que devuelve un valor booleano , en lugar de un objeto TestConnectionCommand+PingReport .

El valor es si alguno de los cuatro pings tiene $True éxito. Si ninguno de los pings tiene éxito, el valor es $False.

Si el comando Test-Connection devuelve un valor de $True, el comando usa el cmdlet New-PSSession para crear el PSSession.

Ejemplo 7: Uso del parámetro Traceroute

A partir de PowerShell 6.0, el parámetro Traceroute asigna una ruta entre el equipo local y el destino remoto especificado con el parámetro TargetName .

Test-Connection -TargetName www.microsoft.com -Traceroute | ForEach-Object {
  $_ | Format-Table Source, DestinationAddress, DestinationHost
  $_.Replies | ForEach-Object {
      $_ | Format-Table Hop, ReplyRouterAddress
      $_.PingReplies | Format-Table
  }
}
Tracing route to www.microsoft.com [96.6.27.90] over a maximum of 128 hops:
  1   0 ms   0 ms   0 ms   192.168.0.3 [192.168.0.3]
  2   0 ms   0 ms   0 ms   192.168.1.1 [192.168.1.1]
  3   3 ms   29 ms   4 ms   96.6.27.90 [96.6.27.90]
Trace complete.

Source      DestinationAddress DestinationHost   Replies
------      ------------------ ---------------   -------
SERVER01    96.6.27.90         www.microsoft.com {, , }

Hop ReplyRouterAddress
--- ------------------
  1 192.168.0.3

    Status Address      RoundtripTime Options Buffer
    ------ -------      ------------- ------- ------
TtlExpired 192.168.86.1             0         {}
TtlExpired 192.168.86.1             0         {}
TtlExpired 192.168.86.1             0         {}

Hop ReplyRouterAddress
--- ------------------
  2 192.168.1.1

    Status Address     RoundtripTime Options Buffer
    ------ -------     ------------- ------- ------
TtlExpired 192.168.1.1             0         {}
TtlExpired 192.168.1.1             0         {}
TtlExpired 192.168.1.1             0         {}

Hop ReplyRouterAddress
--- ------------------
  3 96.6.27.90

 Status Address    RoundtripTime Options                                   Buffer
 ------ -------    ------------- -------                                   ------
Success 96.6.27.90             3 System.Net.NetworkInformation.PingOptions {97, 98, 99, 100…}
Success 96.6.27.90             2 System.Net.NetworkInformation.PingOptions {97, 98, 99, 100…}
Success 96.6.27.90             4 System.Net.NetworkInformation.PingOptions {97, 98, 99, 100…}

El Test-Connection comando utiliza el parámetro Traceroute . Los resultados, que son [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceRouteResult] objetos, se canalizan al ForEach-Object cmdlet. ForEach-Object Crea una salida estructurada de los objetos contenidos [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceRouteReply] y los objetos posteriores [System.Net.NetworkInformation.PingReply] .

Parámetros

-BufferSize

Especifica el tamaño, en bytes, del búfer enviado con este comando. El valor predeterminado es 32.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:32
Admite caracteres comodín:False
DontShow:False
Alias:Tamaño, Bytes (unidades de información digital), BS

Conjuntos de parámetros

PingCount
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
PingContinues
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Continues

Hace que el cmdlet envíe solicitudes de ping continuamente. Este parámetro no se puede usar con el parámetro Count.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

PingContinues
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Count

Especifica el número de solicitudes de eco que se van a enviar. El valor predeterminado es 4.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:4
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

PingCount
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Delay

Especifica el intervalo entre pings, en segundos.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

PingCount
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
PingContinues
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-DontFragment

Este parámetro establece el indicador No fragmentar en el encabezado IP. Puede usar este parámetro con el parámetro BufferSize para probar el tamaño del Path MTU. Para obtener más información sobre la MTU de ruta, consulte el artículo Detección de MTU de ruta en Wikipedia.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

PingCount
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
PingContinues
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-IPv4

Obliga al cmdlet a usar el protocolo IPv4 para la prueba.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-IPv6

Obliga al cmdlet a usar el protocolo IPv6 para la prueba.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-MaxHops

Establece el número máximo de saltos que se puede enviar un mensaje de solicitud ICMP. El sistema operativo controla el valor predeterminado. El valor predeterminado para Windows 10 es 128 saltos.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:128 hops in Windows 10
Admite caracteres comodín:False
DontShow:False
Alias:Ttl, TimeToLive, Lúpulo

Conjuntos de parámetros

PingCount
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
PingContinues
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
TraceRoute
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-MTUSizeDetect

Este parámetro se usa para detectar el tamaño de la MTU de la ruta. El cmdlet devuelve un objeto PingReply#MTUSize que contiene el tamaño de MTU del trayecto al destino. Para obtener más información sobre la MTU de ruta, consulte el artículo Detección de MTU de ruta en Wikipedia.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

DetectionOfMTUSize
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Ping

Hace que el cmdlet realice una prueba de ping, que es la acción predeterminada.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:Ping test
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

PingCount
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
PingContinues
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Quiet

El parámetro Quiet devuelve un valor de booleano en un objeto System.Boolean de . El uso de este parámetro suprime todos los errores.

Cada conexión probada devuelve un valor booleano de . Si el parámetro TargetName especifica varios equipos, se devuelve una matriz de valores booleanos .

Si ping de se realiza correctamente, se devuelve $True.

Si se produce un error en todos los pings de, se devuelve $False.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ResolveDestination

Hace que el cmdlet intente resolver el nombre DNS del destino.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Source

Especifica los nombres de los equipos donde se origina el ping. Escriba una lista separada por comas de nombres de equipo. El valor predeterminado es el equipo local.

Propiedades de parámetro

Tipo:String
Valor predeterminado:Local computer
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

PingCount
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
PingContinues
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
TraceRoute
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False
ConnectionByTCPPort
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-TargetName

Especifica los equipos que se van a probar. Escriba los nombres de equipo o escriba direcciones IP en formato IPv4 o IPv6. No se admite el uso de caracteres comodín. Este parámetro es obligatorio. ComputerName es un alias para este parámetro.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Nombre de equipo

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:True
Valor de los argumentos restantes:False

-TCPPort

Especifica el número de puerto TCP en el destino que se va a usar en la prueba de conexión TCP. El cmdlet intentará establecer una conexión TCP con el puerto especificado en el destino.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ConnectionByTCPPort
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-TimeoutSeconds

Establece el valor de tiempo de espera de la prueba. Se produce un error en la prueba si no se recibe una respuesta antes de que expire el tiempo de espera. El valor predeterminado es de cinco segundos.

Este parámetro se introdujo en PowerShell 6.0.

Propiedades de parámetro

Tipo:Int32
Valor predeterminado:5 seconds
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Traceroute

Hace que el cmdlet realice una prueba traceroute. Cuando se usa este parámetro, el cmdlet devuelve un objeto TestConnectionCommand+TraceRouteResult.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

TraceRoute
Posición:Named
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

None

No se puede canalizar la entrada a este cmdlet.

Salidas

TestConnectionCommand+PingReport, TestConnectionCommand+TraceRouteResult, Boolean, PingReply

Si especifica el parámetro Quiet, devuelve un valor de booleano. Si se prueban varias conexiones, se devuelve una matriz de valores Booleanos . De lo contrario, Test-Connection devuelve un objeto TestConnectionCommand+PingReport para cada ping.