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
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-ComputerName] <String[]>
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-ComputerName] <String[]>
    [-Count <Int32>]
    [-Credential <PSCredential>]
    [-Source] <String[]>
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-ComputerName] <String[]>
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [-Quiet]
    [<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, Test-Connection devuelve un objeto Win32_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 -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

Test-Connection 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

Test-Connection usa el parámetro Credential para especificar las credenciales de un usuario que tiene permiso para enviar una solicitud de ping desde los equipos de origen. Utilice 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 ComputerName 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 como un Test-Connection 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 Test-Connection comando hace ping a muchos equipos de una empresa. El valor del parámetro ComputerName es un Get-Content comando que lee una lista de nombres de equipo de .Servers.txt file El comando usa el parámetro AsJob para ejecutar el comando como un trabajo en segundo plano y guarda el trabajo en la $job variable .

El if comando 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 $Results variable .

Ejemplo 6: Hacer ping a un equipo remoto con credenciales

Este comando usa el Test-Connection cmdlet 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 if comando usa el Test-Connection cmdlet para hacer ping al equipo Server01. El comando usa el parámetro Quiet , que devuelve un valor booleano , en lugar de un objeto Win32_PingStatus . El valor es si cualquiera de los cuatro pings es $True correcto y, de lo contrario, $Falsees .

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

Parámetros

-AsJob

Indica que este cmdlet se ejecuta como un trabajo en segundo plano. Al especificar 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 finaliza el trabajo. Para obtener los resultados del trabajo, use el Receive-Job cmdlet .

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

-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 a los que se enviarán los pings. Escriba los nombres de equipo o las direcciones IP en formato IPv4 o IPv6. No se admite el uso de 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.

Nota:

Se cambia el nombre del parámetro ComputerName a TargetName en PowerShell 6.0 y versiones posteriores.

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 enviarán. 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 con 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 PSCredential , como uno del Get-Credential cmdlet.

El parámetro Credential solo es válido cuando se usa el parámetro Source 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

-DcomAuthentication

Especifica el nivel de autenticación que usa este cmdlet con WMI. Test-Connection usa WMI. Los valores permitidos para este parámetro son los siguientes:

  • Default. Autenticación de Windows
  • Ninguno. ninguna autenticación COM
  • Conectar. Autenticación COM de nivel de conexión
  • Llame a . Autenticación COM de nivel de llamada
  • Paquete. 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
  • Sin cambios. Igual que el comando anterior

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 La enumeración AuthenticationLevel .

Tipo:AuthenticationLevel
Alias:Authentication
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

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

  • Default. suplantación predeterminada.
  • Anónimo. oculta la identidad de la persona que llama.
  • Identificar. permite que los objetos consulten las credenciales de la persona que llama.
  • Suplantar. permite que los objetos usen las credenciales de la persona que llama.

El valor predeterminado es Impersonate.

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

-Protocol

Especifica un protocolo. Los valores aceptables para este parámetro son DCOM y WSMan.

Tipo:String
Valores aceptados:DCOM, WSMan
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Quiet

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

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

Si algún ping se realiza correctamente, $True se devuelve.

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

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 equipos. La opción predeterminada 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 operaciones simultáneas que se pueden establecer para ejecutar este comando. Si omite este parámetro o escribe un valor 0, se usa el valor predeterminado, 32.

El límite solo se aplica al comando actual, no a la sesión ni 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, los enrutadores etcetera. El valor 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 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

-WsmanAuthentication

Especifica el mecanismo que se usa para autenticar las credenciales de usuario cuando este cmdlet usa el protocolo WSMan. Los valores permitidos para este parámetro son los siguientes:

  • Básico
  • CredSSP
  • Valor predeterminado
  • Digest
  • Kerberos
  • Negociar.

El valor predeterminado es Default.

Para obtener más información sobre los valores de este parámetro, vea AuthenticationMechanism (enumeración).

Precaución: La autenticación del proveedor de servicios de seguridad de credenciales (CredSSP), en la que las credenciales de usuario se pasan a un equipo remoto para autenticarse, está diseñada para comandos que requieren autenticación en más de un recurso, como el acceso a un recurso compartido de red remoto. Este mecanismo el riesgo de seguridad de la operación remota. Si el equipo remoto se ve comprometido, las credenciales que se pasen a él se pueden utilizar para controlar la sesión de red.

Este parámetro se incorporó en Windows PowerShell 3.0.

Tipo:String
Valores aceptados:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Posición:Named
Valor predeterminado:Default
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

None

No se pueden canalizar objetos a este cmdlet.

Salidas

ManagementObject

De forma predeterminada, este cmdlet devuelve un objeto Win32_PingStatus para cada respuesta de ping.

System.Management.Automation.RemotingJob

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

Boolean

Cuando se usa el parámetro Quiet , se devuelve un valor booleano . Si el cmdlet prueba varias conexiones, devuelve una matriz de valores booleanos .

Notas

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

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