Compartilhar via


Test-Connection

Envia pacotes de solicitação de eco ICMP, ou pings, para um ou mais computadores.

Sintaxe

DefaultPing (Padrão)

Test-Connection
    [-TargetName] <string[]>
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Count <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

RepeatPing

Test-Connection
    [-TargetName] <string[]>
    -Repeat
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

TraceRoute

Test-Connection
    [-TargetName] <string[]>
    -Traceroute
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

MtuSizeDetect

Test-Connection
    [-TargetName] <string[]>
    -MtuSize
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

TcpPort

Test-Connection
    [-TargetName] <string[]>
    -TcpPort <int>
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-Count <int>]
    [-Delay <int>]
    [-Repeat]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [-Detailed]
    [<CommonParameters>]

Description

O cmdlet Test-Connection envia pacotes de solicitação de eco de protocolo ICMP, 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 Quiet retorna um valor Boolean em um objeto System.Boolean para cada conexão testada. Se forem testadas várias conexões, uma matriz de valores Boolean será retornada.

Exemplos

Exemplo 1: enviar solicitações de eco para um computador remoto

Esse exemplo envia pacotes de solicitação 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 Count especifica que três pings são enviados para o computador Server01 com um Atraso de intervalos de 2 segundos.

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 a 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 Test-Connection é chamado com o parâmetro Traceroute. Os resultados, que são objetos [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus], são gerados para o fluxo de saída Sucesso.

Exemplo 7: Obter uma saída detalhada para um teste de conexão TCP

Quando você usa o parâmetro Detalhado, esse cmdlet retorna informações detalhadas sobre o status das tentativas de conexão TCP.

Test-Connection bing.com -TCPPort 443 -Detailed -Count 4
   Target: bing.com

Id Source     Address           Port Latency(ms) Connected Status
-- ------     -------           ---- ----------- --------- ------
 1 circumflex 2620:1ec:c11::200  443          12 True      Success
 2 circumflex 2620:1ec:c11::200  443          14 True      Success
 3 circumflex 2620:1ec:c11::200  443          17 True      Success
 4 circumflex 2620:1ec:c11::200  443          17 True      Success

Parâmetros

-BufferSize

Especifica o tamanho, em bytes, do buffer enviado com esse comando. O valor padrão é 32.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:32
Dá suporte a curingas:False
DontShow:False
Aliases:Tamanho, Bytes, Bacharelado em Ciências

Conjuntos de parâmetros

DefaultPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
RepeatPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Count

Especifica o número de solicitações de eco a serem enviadas. O valor padrão é 4.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:4
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

DefaultPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
TcpPort
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Delay

Especifica o intervalo entre pings, em segundos.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

DefaultPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
RepeatPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
TcpPort
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Detailed

Quando você usa o parâmetro Detalhado, esse cmdlet retorna informações detalhadas sobre o status das tentativas de conexão TCP.

Esse parâmetro foi adicionado no PowerShell 7.4.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

TcpPort
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 a MTU de Caminho, consulte o artigo Descoberta de MTU de Caminho na Wikipédia.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

DefaultPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
RepeatPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-IPv4

Força o cmdlet a usar o protocolo IPv4 para o teste.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-IPv6

Força o cmdlet a usar o protocolo IPv6 para o teste.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:128
Dá suporte a curingas:False
DontShow:False
Aliases:Ttl, TimeToLive, Lúpulo

Conjuntos de parâmetros

DefaultPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
RepeatPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
TraceRoute
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-MtuSize

Esse parâmetro é usado para descobrir o tamanho da MTU (Unidade Máxima de Transmissão) 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 a MTU de Caminho, consulte o artigo Descoberta de MTU de Caminho na Wikipédia.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:MtuSizeDetect

Conjuntos de parâmetros

MtuSizeDetect
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Ping

Faz com que o cmdlet faça um teste de ping. Esse é o modo padrão para o cmdlet Test-Connection.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:True
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

DefaultPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
RepeatPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Quiet

O parâmetro Quiet retorna um valor Boolean. Usar esse parâmetro suprime todos os erros.

Cada conexão testada retorna um valor booleano . Se o parâmetro TargetName especificar vários computadores, uma matriz de valores boolianos será retornada.

Se qualquer ping para um determinado destino for bem-sucedido, $true será retornado.

Se todos os pings para um determinado destino falharem, $false será retornado.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Repeat

Faz com que o cmdlet envie solicitações de ping continuamente. Quando o valor de TargetName é uma matriz de destinos, o cmdlet repete as solicitações de ping somente para o primeiro destino. Ele ignora os destinos restantes. Esse parâmetro não pode ser usado com o parâmetro Count.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:Contínuo

Conjuntos de parâmetros

RepeatPing
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
TcpPort
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Observação

Não há suporte para esse parâmetro nas versões 6 e posteriores do PowerShell. Fornecer esse parâmetro causa um erro.

Propriedades do parâmetro

Tipo:String
Valor padrão:Local computer
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

DefaultPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
RepeatPing
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
TraceRoute
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False
TcpPort
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-TargetName

Especifica os computadores a serem testados. Digite os nomes do computador ou digite endereços IP no formato IPv4 ou IPv6.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:Nome do Computador

Conjuntos de parâmetros

(All)
Cargo:0
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-TcpPort

Especifica o número da porta TCP no destino a ser usado no teste de conexão TCP.

O cmdlet tenta fazer uma conexão TCP com a porta especificada no destino.

  • O cmdlet retornará $true se uma conexão for feita.
  • O cmdlet retornará $false se uma conexão não for feita.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

TcpPort
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:5 seconds
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

TraceRoute
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

None

Não é possível transferir objetos para esse cmdlet.

Saídas

Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus

Por padrão, esse cmdlet retorna um objeto TestConnectionCommand+PingStatus para cada resposta de ping.

Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus

Quando você usa o parâmetro Traceroute, esse cmdlet retorna um objeto TestConnectionCommand+TraceStatus para cada resposta de ping ao longo da rota.

Boolean

Quando você usa os parâmetros Quiet ou TcpPort, este cmdlet retorna um valor Boolean. Se o cmdlet testar diversas conexões, ele retornará uma matriz de valores Boolean.

Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus

Quando você usa o parâmetro MtuSize, esse cmdlet retorna um objeto TestConnectionCommand+PingMtuStatus para cada resposta de ping.

Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus

Quando você usa o parâmetro Detalhado, esse cmdlet retorna um objeto TestConnectionCommand+TcpPortStatus que mostra o status da conexão TCP.

Observações

No Linux, usar o parâmetro BufferSize ou qualquer combinação de parâmetros com o parâmetro MtuSize que resulta em um tamanho de buffer não padrão de 32 bytes pode exigir sudo. Nesses casos, Test-Command gera uma exceção com uma mensagem indicando que sudo é necessária.