Test-Connection
Envía paquetes de solicitud de eco ICMP o pings a uno o varios equipos.
Sintaxis
DefaultPing (Es el valor predeterminado).
Test-Connection
[-TargetName] <string[]>
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Count <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
RepeatPing
Test-Connection
[-TargetName] <string[]>
-Repeat
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
TraceRoute
Test-Connection
[-TargetName] <string[]>
-Traceroute
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
MtuSizeDetect
Test-Connection
[-TargetName] <string[]>
-MtuSize
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
TcpPort
Test-Connection
[-TargetName] <string[]>
-TcpPort <int>
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-Count <int>]
[-Delay <int>]
[-Repeat]
[-Quiet]
[-TimeoutSeconds <int>]
[-Detailed]
[<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 conocido ping, Test-Connection devuelve un objeto TestConnectionCommand+PingStatus 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
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 TestConnectionCommand+PingStatus se envían al flujo de salida, un objeto por cada respuesta de ping de 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 Test-Connection como un trabajo en segundo plano de PowerShell.
$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait
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 Receive-Job tiene la instrucción de ejecutar -Wait hasta que se complete el trabajo, y luego obtiene los resultados, almacenándolos en la variable $Results.
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 a él tiene éxito.
if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }
El cmdlet Test-Connection hace ping al equipo Server01, con el parámetro Quiet proporcionado.
El valor resultante es $true si alguno de los cuatro pings tiene é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 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 comando Test-Connection con el parámetro Traceroute. Los resultados, que son objetos [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus], se envían al flujo de salida de 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 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.
Propiedades del 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
DefaultPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
RepeatPing
| Posición: | Named |
| Mandatory: | 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 del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | 4 |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
TcpPort
| Posición: | Named |
| Mandatory: | 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 del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
RepeatPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
TcpPort
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Detailed
Cuando se usa el parámetro Detailed, este cmdlet devuelve información detallada sobre el estado de los intentos de conexión TCP.
Este parámetro se agregó en PowerShell 7.4.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
TcpPort
| Posición: | Named |
| Mandatory: | 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 del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
RepeatPing
| Posición: | Named |
| Mandatory: | 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 del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | 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 del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | 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 y versiones posteriores es 128 saltos.
Propiedades del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | 128 |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Ttl, TimeToLive, Lúpulo |
Conjuntos de parámetros
DefaultPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
RepeatPing
| Posición: | Named |
| Mandatory: | 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 |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-MtuSize
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 del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | MtuSizeDetect |
Conjuntos de parámetros
MtuSizeDetect
| Posición: | Named |
| Mandatory: | 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. Este es el modo predeterminado para el cmdlet Test-Connection.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | True |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
RepeatPing
| Posición: | Named |
| Mandatory: | 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 booleano. El uso de este parámetro suprime todos los errores.
Cada conexión probada devuelve un valor booleano de
Si algún ping a un destino determinado es correcto, se devuelve $true.
Si todos los pings de a un destino determinado fallan, se devuelve $false.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Continuo |
Conjuntos de parámetros
RepeatPing
| Posición: | Named |
| Mandatory: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
TcpPort
| Posición: | Named |
| Mandatory: | 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. 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.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | 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.
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.
Propiedades del parámetro
| Tipo: | String |
| Valor predeterminado: | Local computer |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultPing
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
RepeatPing
| Posición: | Named |
| Mandatory: | 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 |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
TcpPort
| Posición: | Named |
| Mandatory: | 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.
Propiedades del 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 |
| Mandatory: | 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 intenta realizar una conexión TCP al puerto especificado en el destino.
- El cmdlet devuelve
$truesi se realiza una conexión. - El cmdlet devuelve
$falsesi no se realiza una conexión.
Propiedades del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
TcpPort
| Posición: | Named |
| Mandatory: | 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 del parámetro
| Tipo: | Int32 |
| Valor predeterminado: | 5 seconds |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | 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+TraceStatus.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
TraceRoute
| Posición: | Named |
| Mandatory: | 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 pueden canalizar objetos a este cmdlet.
Salidas
Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus
De forma predeterminada, este cmdlet devuelve un objeto TestConnectionCommand+PingStatus para cada respuesta de ping.
Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus
Cuando se usa el parámetro Traceroute, este cmdlet devuelve un TestConnectionCommand+TraceStatus objeto 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 TestConnectionCommand+PingMtuStatus para cada respuesta de ping.
Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus
Cuando se usa el parámetro Detailed, este cmdlet devuelve un objeto TestConnectionCommand+TcpPortStatus que muestra el estado de la conexión TCP.
Notas
En Linux, el uso del parámetro BufferSize o de cualquier combinación de parámetros que incluya el parámetro MtuSize y que resulte en 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 se requiere sudo.