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