Test-Connection
Envia pacotes de solicitação de eco ICMP, ou pings, para um ou mais computadores.
Sintaxe
Test-Connection
[-TargetName] <string[]>
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Count <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Repeat
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-MtuSize
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Traceroute
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-TcpPort <int>
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-TimeoutSeconds <int>]
[-Quiet]
[<CommonParameters>]
Description
O cmdlet Test-Connection
envia pacotes de solicitação de eco ICMP (Protocolo de Mensagem de Controle de Internet) ou pings para um ou mais computadores remotos e retorna as respostas de resposta de eco. Você pode usar esse cmdlet para determinar se um determinado computador pode ser contatado em uma rede IP.
Você pode usar os parâmetros de Test-Connection
para especificar os computadores de envio e recebimento, executar o comando como um trabalho em segundo plano, definir um tempo limite e um número de pings e configurar a conexão e a autenticação.
Ao contrário do comando ping familiar, Test-Connection
retorna um objeto TestConnectionCommand+PingStatus que você pode investigar no PowerShell. O parâmetro
Exemplos
Exemplo 1: enviar solicitações de eco para um computador remoto
Este exemplo envia pacotes de solicitação de eco do computador local para o computador Server01.
Test-Connection -TargetName Server01 -IPv4
Destination: Server01
Ping Source Address Latency BufferSize Status
(ms) (B)
---- ------ ------- ------- ---------- ------
1 ADMIN1 10.59.137.44 24 32 Success
2 ADMIN1 10.59.137.44 39 32 Success
3 ADMIN1 * * * TimedOut
4 ADMIN1 10.59.137.44 28 32 Success
Test-Connection
usa o parâmetro TargetName para especificar o computador Server01. O parâmetro IPv4 especifica o protocolo para o teste.
Uma série de objetos TestConnectionCommand+PingStatus são enviados para o fluxo de saída, um objeto por resposta de ping do computador de destino.
Exemplo 2: Enviar solicitações de eco para vários computadores
Este exemplo envia pings do computador local para vários computadores remotos.
Test-Connection -TargetName Server01, Server02, Server12
Exemplo 3: Usar parâmetros para personalizar o comando de teste
Este exemplo usa os parâmetros de Test-Connection
para personalizar o comando. O computador local envia um teste de ping para um computador remoto.
Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256
Test-Connection
usa o parâmetro TargetName para especificar Server01. O parâmetro contagem de
Você pode usar essas opções quando a resposta de ping deve levar mais tempo do que o normal, seja devido a um número estendido de saltos ou a uma condição de rede de alto tráfego.
Exemplo 4: executar um teste como um trabalho em segundo plano
Este exemplo mostra como executar um comando Test-Connection
como um trabalho em segundo plano do PowerShell.
$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait
O comando Start-Job
usa o cmdlet Test-Connection
para executar ping em muitos computadores em uma empresa.
O valor do parâmetro TargetName é um comando Get-Content
que lê uma lista de nomes de computador do arquivo Servers.txt
. O comando usa o cmdlet Start-Job
para executar o comando como um trabalho em segundo plano e salva o trabalho na variável $job
.
O comando Receive-Job
é instruído a -Wait
até que o trabalho seja concluído e, em seguida, obtém os resultados e os armazena na variável $Results
.
Exemplo 5: Criar uma sessão somente se um teste de conexão for bem-sucedido
Este exemplo cria uma sessão no computador Server01 somente se pelo menos um dos pings enviados para o computador tiver êxito.
if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }
O cmdlet Test-Connection
executa ping no computador Server01
, com o parâmetro Quiet fornecido.
O valor resultante será $True
se qualquer um dos quatro pings tiver êxito. Se nenhum dos pings for bem-sucedido, o valor será $False
.
Se o comando Test-Connection
retornar um valor de $True
, o comando usará o cmdlet New-PSSession
para criar o PSSession.
Exemplo 6: Usar o parâmetro Traceroute
Introduzido no PowerShell 6.0, o parâmetro Traceroute mapeia uma rota entre o computador local e o destino remoto especificado com o parâmetro TargetName.
Test-Connection -TargetName www.google.com -Traceroute
Target: google.com
Hop Hostname Ping Latency Status Source TargetAddress
(ms)
--- -------- ---- ------- ------ ------ -------------
1 172.20.0.1 1 4 Success Lira 172.217.9.174
1 172.20.0.1 2 3 Success Lira 172.217.9.174
1 172.20.0.1 3 2 Success Lira 172.217.9.174
2 12.108.153.193 1 3 Success Lira 172.217.9.174
2 12.108.153.193 2 3 Success Lira 172.217.9.174
2 12.108.153.193 3 2 Success Lira 172.217.9.174
3 12.244.85.177 1 11 Success Lira 172.217.9.174
3 12.244.85.177 2 12 Success Lira 172.217.9.174
3 12.244.85.177 3 12 Success Lira 172.217.9.174
4 * 1 14 DestinationNetw… Lira 172.217.9.174
4 * 2 * TimedOut Lira 172.217.9.174
4 * 3 20 DestinationNetw… Lira 172.217.9.174
5 * 1 * TimedOut Lira 172.217.9.174
5 * 2 15 DestinationNetw… Lira 172.217.9.174
5 * 3 * TimedOut Lira 172.217.9.174
6 * 1 18 DestinationNetw… Lira 172.217.9.174
6 * 2 * TimedOut Lira 172.217.9.174
6 * 3 16 DestinationNetw… Lira 172.217.9.174
7 * 1 * TimedOut Lira 172.217.9.174
7 * 2 * TimedOut Lira 172.217.9.174
7 * 3 * TimedOut Lira 172.217.9.174
8 * 1 * TimedOut Lira 172.217.9.174
8 * 2 * TimedOut Lira 172.217.9.174
8 * 3 * TimedOut Lira 172.217.9.174
9 * 1 * TimedOut Lira 172.217.9.174
9 * 2 * TimedOut Lira 172.217.9.174
9 * 3 * TimedOut Lira 172.217.9.174
10 * 1 * TimedOut Lira 172.217.9.174
10 * 2 * TimedOut Lira 172.217.9.174
10 * 3 * TimedOut Lira 172.217.9.174
11 172.217.9.174 1 23 Success Lira 172.217.9.174
11 172.217.9.174 2 21 Success Lira 172.217.9.174
11 172.217.9.174 3 22 Success Lira 172.217.9.174
O comando
Parâmetros
-BufferSize
Especifica o tamanho, em bytes, do buffer enviado com esse comando. O valor padrão é 32.
Tipo: | Int32 |
Aliases: | Size, Bytes, BS |
Cargo: | Named |
Valor padrão: | 32 |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Count
Especifica o número de solicitações de eco a serem enviadas. O valor padrão é 4.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | 4 |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Delay
Especifica o intervalo entre pings, em segundos.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DontFragment
Esse parâmetro define o sinalizador Não Fragmentar no cabeçalho IP. Você pode usar esse parâmetro com o parâmetro BufferSize para testar o tamanho da MTU do Caminho. Para obter mais informações sobre o Caminho MTU, consulte o artigo descoberta de MTU de caminho
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-IPv4
Força o cmdlet a usar o protocolo IPv4 para o teste.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-IPv6
Força o cmdlet a usar o protocolo IPv6 para o teste.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-MaxHops
Define o número máximo de saltos que uma mensagem de solicitação ICMP pode ser enviada. O valor padrão é controlado pelo sistema operacional. O valor padrão para Windows 10 e superior é 128 saltos.
Tipo: | Int32 |
Aliases: | Ttl, TimeToLive, Hops |
Cargo: | Named |
Valor padrão: | 128 |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-MtuSize
Esse parâmetro é usado para descobrir o tamanho da MTU do caminho. O cmdlet retorna um objeto PingReply#MTUSize que contém o tamanho do CAMINHO MTU para o destino. Para obter mais informações sobre o Caminho MTU, consulte o artigo descoberta de MTU de caminho
Tipo: | SwitchParameter |
Aliases: | MtuSizeDetect |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Ping
Faz com que o cmdlet faça um teste de ping. Esse é o modo padrão para o cmdlet Test-Connection
.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | True |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Quiet
O parâmetro
Cada conexão testada retorna um valor de booliano
Se qualquer ping de para um determinado destino for bem-sucedido, $True
será retornado.
Se todos os pings para um determinado destino falharem, $False
será retornado.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Repeat
Faz com que o cmdlet envie solicitações de ping continuamente. Esse parâmetro não pode ser usado com o parâmetro Count.
Tipo: | SwitchParameter |
Aliases: | Continuous |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ResolveDestination
Faz com que o cmdlet tente resolver o nome DNS do destino. Quando usado em conjunto com o parâmetro Traceroute, os nomes DNS de todos os hosts intermediários também serão recuperados, se possível.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Source
Especifica os nomes dos computadores nos quais o ping se origina. Insira uma lista separada por vírgulas de nomes de computador. O padrão é o computador local.
Nota
Não há suporte para esse parâmetro nas versões 6 e posteriores do PowerShell. Fornecer esse parâmetro causa um erro.
Tipo: | String |
Cargo: | Named |
Valor padrão: | Local computer |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-TargetName
Especifica os computadores a serem testados. Digite os nomes do computador ou digite endereços IP no formato IPv4 ou IPv6.
Tipo: | String[] |
Aliases: | ComputerName |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-TcpPort
Especifica o número da porta TCP no destino a ser usado no teste de conexão TCP. O cmdlet tentará fazer uma conexão TCP com a porta especificada no destino.
Se uma conexão puder ser feita, $True
será retornado.
Se uma conexão não puder ser feita, $False
será retornado.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-TimeoutSeconds
Define o valor do tempo limite para o teste. O teste falhará se uma resposta não for recebida antes do tempo limite expirar. O padrão é cinco segundos.
Esse parâmetro foi introduzido no PowerShell 6.0.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | 5 seconds |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Traceroute
Faz com que o cmdlet faça um teste de rastreamento. Quando esse parâmetro é usado, o cmdlet retorna um objeto TestConnectionCommand+TraceStatus
.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | True |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
None
Você não pode canalizar a entrada para este cmdlet.
Saídas
TestConnectionCommand+PingStatus, TestConnectionCommand+TraceStatus, Boolean, TestConnectionCommand+PingMtuStatus
Por padrão, Test-Connection
retorna um objeto TestConnectionCommand+PingStatus para cada resposta de ping.
Se você especificar o parâmetro Traceroute, o cmdlet retornará um objeto TestConnectionCommand+TraceStatus para cada resposta de ping ao longo da rota.
Se você especificar os parâmetros