Test-Connection

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

Syntax

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>]

Description

El Test-Connection cmdlet envía paquetes de solicitud de eco del Protocolo de mensajes de control de Internet (ICMP) a uno o varios equipos remotos y devuelve las respuestas de respuesta 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 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, devuelve un objeto Test Conectar ionCommand+PingStatus que puede investigar en PowerShell. Test-Connection 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

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 usa el parámetro TargetName para especificar el equipo Server01. El parámetro IPv4 especifica el protocolo para la prueba.

Una serie de objetos Test Conectar ionCommand+PingStatus se envían al flujo de salida, un objeto por respuesta de ping desde la máquina de destino.

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: 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 4: Ejecución de una prueba como trabajo en segundo plano

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

$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait

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

El Receive-Job comando se indica a -Wait hasta que se complete el trabajo y, a continuación, obtiene los resultados y los almacena en la $Results variable .

Ejemplo 5: 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 al equipo se realiza correctamente.

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

El Test-Connection cmdlet hace ping al Server01 equipo, con el parámetro Quiet proporcionado. El valor resultante es si cualquiera de los cuatro pings se $True realiza correctamente. Si ninguno de los pings se realiza correctamente, el valor es $False.

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

Ejemplo 6: Uso del parámetro Traceroute

Introducido en PowerShell 6.0, el parámetro Traceroute asigna una ruta entre el equipo local y el destino remoto que especifique con el parámetro 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

Se llama al Test-Connection comando con el parámetro Traceroute . Los resultados, que son [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus] objetos, se generan en el flujo de salida Correcto .

Ejemplo 7: Obtención de una salida detallada para una prueba de conexión TCP

Cuando se usa el parámetro Detailed , este cmdlet devuelve una información detallada sobre el estado de los intentos de conexión 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

Parámetros

-BufferSize

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

Type:Int32
Aliases:Size, Bytes, BS
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Count

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

Type:Int32
Position:Named
Default value:4
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delay

Especifica el intervalo entre pings en segundos.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Detailed

Cuando se usa el parámetro Detailed , este cmdlet devuelve una información detallada sobre el estado de los intentos de conexión TCP.

Este parámetro se agregó en PowerShell 7.4.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DontFragment

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv4

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv6

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 y versiones posteriores es 128 saltos.

Type:Int32
Aliases:Ttl, TimeToLive, Hops
Position:Named
Default value:128
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MtuSize

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

Type:SwitchParameter
Aliases:MtuSizeDetect
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Ping

Hace que el cmdlet realice una prueba de ping. Este es el modo predeterminado para el Test-Connection cmdlet .

Type:SwitchParameter
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Quiet

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

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

Si algún ping a un destino determinado se realiza correctamente, $True se devuelve.

Si se produce un error en todos los pings a un destino determinado, $False se devuelve.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repeat

Hace que el cmdlet envíe solicitudes de ping continuamente. Cuando el valor de TargetName es una matriz de destinos, el cmdlet repite las solicitudes de ping solo para el primer destino. Omite los destinos restantes. Este parámetro no se puede usar con el parámetro Count .

Type:SwitchParameter
Aliases:Continuous
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResolveDestination

Hace que el cmdlet intente resolver el nombre DNS del destino. Cuando se usa junto con el parámetro Traceroute , también se recuperarán los nombres DNS de todos los hosts intermedios, si es posible.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Source

Especifica los nombres de los equipos donde se origina el ping. Escriba una lista separada por comas de nombres de equipos. La opción predeterminada es el equipo local.

Nota:

Este parámetro no se admite en las versiones 6 y posteriores de PowerShell. Si se proporciona este parámetro, se produce un error.

Type:String
Position:Named
Default value:Local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TargetName

Especifica los equipos que se van a probar. Escriba los nombres de equipo o las direcciones IP en formato IPv4 o IPv6.

Type:String[]
Aliases:ComputerName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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 intenta realizar una conexión TCP al puerto especificado en el destino.

  • El cmdlet devuelve $True si se realiza una conexión.
  • El cmdlet devuelve $False si no se realiza una conexión.
Type:Int32
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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.

Type:Int32
Position:Named
Default value:5 seconds
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Traceroute

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

Type:SwitchParameter
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus

De forma predeterminada, este cmdlet devuelve un objeto Test Conectar ionCommand+PingStatus para cada respuesta de ping.

Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus

Cuando se usa el parámetro Traceroute, este cmdlet devuelve un objeto Test Conectar ionCommand+TraceStatus para cada respuesta de ping a lo largo de la ruta.

Boolean

Cuando se usan los parámetros Quiet o TcpPort , este cmdlet devuelve un valor booleano . Si el cmdlet prueba varias conexiones, devuelve una matriz de valores booleanos .

Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus

Cuando se usa el parámetro MtuSize, este cmdlet devuelve un objeto Test Conectar ionCommand+PingMtuStatus para cada respuesta de ping.

Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus

Cuando se usa el parámetro Detailed, este cmdlet devuelve un objeto Test Conectar ionCommand+TcpPortStatus que muestra el estado de la conexión TCP.

Notas

En Linux, el uso del parámetro BufferSize o cualquier combinación de parámetros con el conjunto de parámetros MtuSizeDetect que da como resultado un tamaño de búfer no predeterminado de 32 bytes puede requerir sudo. En esos casos, Test-Command genera una excepción con un mensaje que indica que sudo es necesario.