Envía paquetes de solicitud de eco ("pings") ICMP a uno o más equipos.

Sintaxis

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

Descripción

El cmdlet Test-Connection envía paquetes de solicitud de eco ("pings") ICMP (Protocolo de mensajes de control de Internet) a uno o más equipos remotos y devuelve las contestaciones de respuesta de eco. Puede utilizar este cmdlet para determinar si se puede establecer conexión con un equipo determinado a través de una red de protocolo de Internet (IP).

Puede utilizar 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" tradicional, Test-Connection devuelve un objeto Win32_PingStatus que puede investigar en Windows PowerShell, pero puede utilizar el parámetro Quiet para que devuelva solo un valor booleano.

Parámetros

-AsJob

Ejecuta el comando como un trabajo en segundo plano.

Nota: para utilizar este parámetro, el equipo local y los equipos remotos deben estar configurados para la comunicación remota y, en Windows Vista y versiones posteriores de Windows, se debe abrir Windows PowerShell con la opción "Ejecutar como administrador". Para obtener más información, vea about_Remote_Requirements.

Cuando se utiliza el parámetro AsJob, el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede seguir trabajando en la sesión mientras se completa el trabajo. El trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven automáticamente al equipo local. Para obtener los resultados del trabajo, use el cmdlet Receive-Job.

Para obtener más información sobre los trabajos en segundo plano en Windows PowerShell, vea about_Jobs y about_Remote_Jobs.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

False

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Authentication <AuthenticationLevel>

Especifica el nivel de autenticación que se utiliza para la conexión de WMI. (Test-Connection utiliza WMI).

Los valores válidos son:

Unchanged: el nivel de autenticación es idéntico al del comando anterior.

Default: autenticación de Windows.

None: ninguna autenticación COM.

Connect: autenticación COM en el nivel de conexión.

Call: autenticación COM en el nivel de llamada.

Packet: autenticación COM en el nivel de paquete.

PacketIntegrity: autenticación COM en el nivel de integridad de paquete.

PacketPrivacy: autenticación COM en el nivel de privacidad de paquete.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

4

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-BufferSize <int>

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

¿Requerido?

false

¿Posición?

named

Valor predeterminado

32

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ComputerName <string[]>

Especifica los equipos a los que se va a hacer ping. Escriba los nombre de equipo o las direcciones IP en formato IPv4 o IPv6. No se permite el uso de caracteres comodín. Este parámetro es obligatorio.

Este parámetro no se basa en la comunicación remota de Windows PowerShell. Puede usar el parámetro ComputerName incluso si el equipo no está configurado para la ejecución de comandos remotos.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

false

-Count <int>

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

¿Requerido?

false

¿Posición?

named

Valor predeterminado

4

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Credential <PSCredential>

Especifica una cuenta de usuario con permiso para realizar esta acción. Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno del cmdlet Get-Credential.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

Current user

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Delay <int>

Especifica el intervalo entre pings, en segundos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

1 (second)

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Impersonation <ImpersonationLevel>

Especifica el nivel de suplantación que se va a usar al llamar a WMI. (Test-Connection utiliza WMI). El valor predeterminado es "Impersonate".

Los valores válidos son:

Default: suplantación predeterminada.

Anonymous: oculta la identidad del autor de llamada.

Identify: permite que los objetos consulten las credenciales del autor de llamada.

Impersonate: permite a los objetos utilizar las credenciales del autor de llamada.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

3

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Quiet

Suprime todos los errores y devuelve $True si hay algún ping correcto y $False si fallan todos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

False

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Source <string[]>

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.

¿Requerido?

false

¿Posición?

2

Valor predeterminado

Local computer

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-ThrottleLimit <int>

Especifica el número máximo de conexiones simultáneas que se pueden establecer para ejecutar este comando. Si omite este parámetro o escribe un valor 0, se utilizará el valor predeterminado 32.

Este límite se aplica únicamente al comando actual; no se aplica a la sesión ni al equipo.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

32

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-TimeToLive <int>

Especifica el período de tiempo máximo, en segundos, que cada paquete de solicitud de eco ("ping") está activo. El valor predeterminado es 80 (segundos). El alias del parámetro TimeToLive es TTL.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

80

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

Ninguno

No se pueden canalizar entradas a este cmdlet.

Salidas

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

Cuando se usa el parámetro AsJob, el cmdlet devuelve un objeto de trabajo. Al utilizar el parámetro Quiet, devuelve un valor booleano. De lo contrario, este cmdlet devuelve un objeto Win32_PingStatus para cada ping.

Notas

Este cmdlet utiliza la clase Win32_PingStatus. Un comando "get-wmiojbect win32_pingstatus" es equivalente a un comando Test-Connection.

Ejemplo 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

Descripción
-----------
Este comando envía paquetes de solicitud de eco ("pings") del equipo local al equipo Server01. Utiliza el parámetro ComputerName para especificar el equipo Server01, pero omite el nombre de parámetro opcional.






Ejemplo 2

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

Descripción
-----------
Este comando envía pings del equipo local a varios equipos remotos. Usa el parámetro Credential para especificar una cuenta de usuario con permiso para hacer ping a todos los equipos remotos.






Ejemplo 3

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

Descripción
-----------
Este comando envía pings de equipos de orígenes diferentes a un solo equipo remoto, Servidor01. Utilice este formato de comando para probar la latencia de conexiones desde varios puntos.






Ejemplo 4

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

Descripción
-----------
Este comando envía tres pings del equipo local al equipo Server01. Utiliza los parámetros de Test-Connection para personalizar el comando.

Utilice este formato de comando cuando se espere que la respuesta de ping va a tardar más tiempo de lo habitual, ya se deba a un número extendido de bucles o a una condición de alto tráfico de red.






Ejemplo 5

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

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

Descripción
-----------
En este ejemplo se muestra la forma de ejecutar un comando Test-Connection como un trabajo en segundo plano de Windows PowerShell. 

El primer comando utiliza el cmdlet Test-Connection para hacer ping a muchos equipos de una empresa. El valor del parámetro ComputerName es un comando Get-Content que lee una lista de nombres de equipo del archivo Servers.txt. El comando utiliza el parámetro AsJob para ejecutar el comando como un trabajo en segundo plano.

El segundo comando comprueba si el trabajo no se está ejecutando todavía y, si no lo está, utiliza un comando Receive-Job para obtener los resultados y almacenarlos en la variable $results.






Ejemplo 6

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

Descripción
-----------
Este comando utiliza el cmdlet Test-Connection para hacer ping a un equipo remoto. El comando utiliza el parámetro Credential para especificar una cuenta de usuario con permiso para hacer ping al equipo remoto y el parámetro Impersonation para cambiar el nivel de suplantación a "Identify".






Ejemplo 7

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

Descripción
-----------
Este comando solo crea PSSession en el Servidor01 si al menos uno de los pings enviados al equipo es correcto.

El comando utiliza el cmdlet Test-Connection para hacer ping al equipo Servidor01. El comando utiliza el parámetro Quiet, que devuelve un valor booleano, en lugar de un objeto Win32_PingStatus. El valor es $True si cualquiera de los cuatro pings es correcto; de lo contrario, es falso.

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






Vea también




Tabla de contenido