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, $False
es .
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
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 .
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.