Compartir a través de


Test-Connection

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

Sintaxis

Test-Connection
    [-ComputerName] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Source] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Credential <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [-Quiet]
    [<CommonParameters>]

Description

El cmdlet Test-Connection 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 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 conocido comando ping, Test-Connection devuelve un objeto Win32_PingStatus que puede investigar en PowerShell. El parámetro Quiet devuelve un valor de booleano en un objeto System.Boolean de para cada conexión probada. Si se prueban varias conexiones, se devuelve una matriz de valores de 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 -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

usa el parámetro computerName para especificar el equipo Server01.

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 -ComputerName 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 -ComputerName Server01 -Credential Domain01\Admin01

usa el parámetro credential de para especificar las credenciales de un usuario que tiene permiso para enviar una solicitud de ping desde los equipos de origen. 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 -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32

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 delay 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 = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}

El comando Test-Connection hace ping a muchos equipos de una empresa. El valor del parámetro computerName es un comando que lee una lista de nombres de equipo de la . El comando usa el parámetro AsJob 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: Hacer ping a un equipo remoto con credenciales

Este comando usa el cmdlet Test-Connection para hacer ping a un equipo remoto.

Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify

El comando usa el parámetro Credential para especificar una cuenta de usuario que tenga permiso para hacer ping al equipo remoto y al parámetro Suplantación para cambiar el nivel de suplantación a Identificar.

Ejemplo 7: 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 -ComputerName 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 de booleano, en lugar de un objeto Win32_PingStatus. El valor es $True si alguno de los cuatro pings se realiza correctamente y es, de lo contrario, $False.

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

Parámetros

-AsJob

Indica que este cmdlet se ejecuta como un trabajo en segundo plano.

Para usar este parámetro, los equipos locales y remotos deben configurarse para la comunicación remota y, en Windows Vista y versiones posteriores del sistema operativo Windows, debe abrir PowerShell mediante el opción Ejecutar como administrador. Para obtener más información, vea about_Remote_Requirements.

Al especificar el parámetro asJob, el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede continuar trabajando en la sesión mientras finaliza 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 de PowerShell, consulte about_Jobs y about_Remote_Jobs.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Authentication

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

Los valores válidos son los siguientes:

  • sin cambios: el nivel de autenticación es el mismo que el comando anterior.
  • predeterminado: autenticación de Windows.
  • Ninguno: sin autenticación COM.
  • Connect: autenticación COM de nivel de conexión.
  • Llamada: autenticación COM de nivel de llamada.
  • Packet: autenticación COM de nivel de paquete.
  • PacketIntegrity: autenticación COM de nivel de integridad de paquetes.
  • PacketPrivacy: autenticación COM de nivel de privacidad de paquetes.

El valor predeterminado es Packet que tiene un valor enumerado de 4. Para obtener más información sobre los valores de este parámetro, consulte enumeración AuthenticationLevel.

Tipo:AuthenticationLevel
Valores aceptados:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Posición:Named
Valor predeterminado:Packet (enumerated value of 4)
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-BufferSize

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

Tipo:Int32
Alias:Size, Bytes, BS
Posición:Named
Valor predeterminado:32
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ComputerName

Especifica los equipos que se van a hacer ping. Escriba los nombres de equipo o escriba direcciones IP en formato IPv4 o IPv6. No se permiten caracteres comodín. Este parámetro es obligatorio.

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

Tipo:String[]
Alias:CN, IPAddress, __SERVER, Server, Destination
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Count

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

Tipo:Int32
Posición:Named
Valor predeterminado:4
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Especifica una cuenta de usuario que tiene permiso para enviar una solicitud de ping desde el equipo de origen. Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential, como uno del cmdlet Get-Credential.

El parámetro Credential solo es válido cuando el parámetro source de se usa en el comando . Las credenciales no afectan al equipo de destino.

Tipo:PSCredential
Posición:Named
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Delay

Especifica el intervalo entre pings, en segundos.

Tipo:Int32
Posición:Named
Valor predeterminado:1 (second)
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Impersonation

Especifica el nivel de suplantación que se va a usar cuando este cmdlet llama a WMI. Test-Connection usa WMI.

Los valores aceptables para este parámetro son los siguientes:

  • predeterminado. Suplantación predeterminada.
  • anónimo. Oculta la identidad del autor de la llamada.
  • Identificar. Permite a los objetos consultar las credenciales del autor de la llamada.
  • suplantar. Permite que los objetos usen las credenciales del autor de la llamada.

El valor predeterminado es suplantar.

Tipo:ImpersonationLevel
Valores aceptados:Default, Anonymous, Identify, Impersonate, Delegate
Posición:Named
Valor predeterminado:Impersonate
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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 de booleano. Si el parámetro ComputerName especifica varios equipos, se devuelve una matriz de valores de booleanos.

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

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

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:String[]
Alias:FCN, SRC
Posición:1
Valor predeterminado:Local computer
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ThrottleLimit

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

El límite solo se aplica al comando actual, no a la sesión o al equipo.

Tipo:Int32
Posición:Named
Valor predeterminado:32
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-TimeToLive

Especifica los tiempos máximos que se puede reenviar un paquete. Para cada salto en puertas de enlace, enrutadores, etc. el valor de TimeToLive se reduce en uno. En cero, el paquete se descarta y se devuelve un error. En Windows, el valor predeterminado es 128. El alias del parámetro timeToLive de es TTL.

Tipo:Int32
Alias:TTL
Posición:Named
Valor predeterminado:128 in Windows
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se puede canalizar la entrada a este cmdlet.

Salidas

ManagementObject

Este cmdlet devuelve un objeto de trabajo, si especifica el parámetro AsJob.

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

Notas

Este cmdlet usa la clase Win32_PingStatus. Un comando Get-WMIObject Win32_PingStatus es equivalente a un comando Test-Connection.

El conjunto de parámetros source se introdujo en PowerShell 3.0.