Condividi tramite


Test-Connection

Invia pacchetti di richieste echo ICMP o ping a uno o più computer.

Sintassi

DefaultPing (impostazione predefinita).

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

Descrizione

Il cmdlet Test-Connection invia pacchetti di richiesta echo ICMP (Internet Control Message Protocol) o ping a uno o più computer remoti e restituisce le risposte echo. È possibile usare questo cmdlet per determinare se un determinato computer può essere contattato in una rete IP.

È possibile usare i parametri di Test-Connection per specificare sia i computer di invio che di ricezione, per eseguire il comando come processo in background, per impostare un timeout e il numero di ping e per configurare la connessione e l'autenticazione.

A differenza del comando ping familiare, restituisce un oggetto TestConnectionCommand+PingStatus che è possibile analizzare in PowerShell. Il parametro Quiet restituisce un valore Booleano in un oggetto System.Boolean per ogni connessione testata. Se vengono testate più connessioni, viene restituita una matrice di valori booleani.

Esempio

Esempio 1: Inviare richieste echo a un computer remoto

In questo esempio vengono inviati pacchetti di richiesta echo dal computer locale al computer 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

usa il parametro TargetName per specificare il computer Server01. Il parametro IPv4 specifica il protocollo per il test.

Una serie di oggetti TestConnectionCommand+PingStatus vengono inviati, un oggetto per ogni risposta di ping dal computer di destinazione, al flusso di output.

Esempio 2: Inviare richieste di eco a più computer

In questo esempio vengono inviati ping dal computer locale a diversi computer remoti.

Test-Connection -TargetName Server01, Server02, Server12

Esempio 3: Usare i parametri per personalizzare il comando di test

In questo esempio vengono usati i parametri di Test-Connection per personalizzare il comando. Il computer locale invia un test ping a un computer remoto.

Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256

usa il parametro TargetName per specificare Server01. Il parametro Conteggio specifica che vengono inviati tre ping al computer Server01 con un intervallo di ritardo di 2 secondi .

È possibile usare queste opzioni quando si prevede che la risposta ping richiede più tempo del solito, a causa di un numero esteso di hop o di una condizione di rete a traffico elevato.

Esempio 4: Eseguire un test come processo in background

Questo esempio illustra come eseguire un comando Test-Connection come processo in background di PowerShell.

$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait

Il comando Start-Job usa il cmdlet Test-Connection per eseguire il ping di molti computer in un'organizzazione. Il valore del parametro TargetName è un comando Get-Content che legge un elenco di nomi di computer dal file Servers.txt. Il comando usa il cmdlet Start-Job per eseguire il comando come processo in background e salva il processo nella variabile $job.

Il comando Receive-Job viene istruito a -Wait fino al completamento del compito, quindi ottiene i risultati e li archivia nella variabile $Results.

Esempio 5: Creare una sessione solo se un test di connessione ha esito positivo

In questo esempio viene creata una sessione nel computer Server01 solo se almeno uno dei ping inviati al computer ha esito positivo.

if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }

Il cmdlet Test-Connection esegue il ping del computer Server01, con il parametro Quiet fornito. Il valore risultante è $true se uno dei quattro ping ha esito positivo. Se nessuno dei ping ha esito positivo, il valore è $false.

Se il comando Test-Connection restituisce un valore di $true, il comando usa il cmdlet New-PSSession per creare la PSSession.

Esempio 6: Usare il parametro Traceroute

Introdotto in PowerShell 6.0, il parametro Traceroute esegue il mapping di una route tra il computer locale e la destinazione remota specificata con il parametro 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

Il comando Test-Connection viene chiamato con il parametro Traceroute. I risultati, che sono oggetti [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus], vengono inviati al flusso di output "Success".

Esempio 7: Ottenere un output dettagliato per un test di connessione TCP

Quando si usa il parametro dettagliato, questo cmdlet restituisce informazioni dettagliate sullo stato dei tentativi di connessione 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

Parametri

-BufferSize

Specifica le dimensioni, in byte, del buffer inviato con questo comando. Il valore predefinito è 32.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:32
Supporta i caratteri jolly:False
DontShow:False
Alias:Misura, Byte, BS

Set di parametri

DefaultPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
RepeatPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Count

Specifica il numero di richieste echo da inviare. Il valore predefinito è 4.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:4
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DefaultPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
TcpPort
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Delay

Specifica l'intervallo tra i ping, espresso in secondi.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DefaultPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
RepeatPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
TcpPort
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Detailed

Quando si usa il parametro dettagliato, questo cmdlet restituisce informazioni dettagliate sullo stato dei tentativi di connessione TCP.

Questo parametro è stato aggiunto in PowerShell 7.4.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TcpPort
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DontFragment

Questo parametro imposta il flag Don't Fragment nell'intestazione IP. È possibile usare questo parametro con il parametro BufferSize per testare le dimensioni MTU del percorso. Per ulteriori informazioni su Path MTU, vedere l'articolo Scoperta del Path MTU su Wikipedia.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DefaultPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
RepeatPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-IPv4

Forza il cmdlet a usare il protocollo IPv4 per il test.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-IPv6

Forza il cmdlet a usare il protocollo IPv6 per il test.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-MaxHops

Imposta il numero massimo di hop che è possibile inviare a un messaggio di richiesta ICMP. Il valore predefinito è controllato dal sistema operativo. Il valore predefinito per Windows 10 e versioni successive è 128 salti.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:128
Supporta i caratteri jolly:False
DontShow:False
Alias:Ttl, TimeToLive, Hops

Set di parametri

DefaultPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
RepeatPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
TraceRoute
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-MtuSize

Questo parametro viene usato per scoprire la dimensione del Path MTU. Il cmdlet restituisce un oggetto PingReply#MTUSize che contiene la dimensione MTU di percorso verso la destinazione. Per ulteriori informazioni su Path MTU, vedere l'articolo Scoperta del Path MTU su Wikipedia.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:MtuSizeDetect

Set di parametri

MtuSizeDetect
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Ping

Determina l'esecuzione di un test ping da parte del cmdlet. Questa è la modalità predefinita per il cmdlet Test-Connection.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:True
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DefaultPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
RepeatPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Quiet

Il parametro Quiet restituisce un valore Booleano. L'uso di questo parametro elimina tutti gli errori.

Ogni connessione testata restituisce un valore booleano . Se il parametro TargetName specifica più computer, viene restituita una matrice di valori booleani.

Se un ping a una destinazione specificata ha esito positivo, viene restituito $true.

Se tutti i ping di a una determinata destinazione hanno esito negativo, viene restituito $false.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Repeat

Fa sì che il cmdlet invii continuamente richieste ping. Quando il valore di TargetName è una matrice di destinazioni, il cmdlet ripete le richieste ping solo per la prima destinazione. Ignora le destinazioni rimanenti. Questo parametro non può essere usato con il parametro count .

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Continuo

Set di parametri

RepeatPing
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
TcpPort
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ResolveDestination

Fa sì che il cmdlet tenti di risolvere il nome DNS della destinazione. Se usato insieme al parametro traceroute , verranno recuperati anche i nomi DNS di tutti gli host intermedi, se possibile.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Source

Specifica i nomi dei computer in cui ha origine il ping. Immettere un elenco di nomi di computer separati da virgola. Il valore predefinito è il computer locale.

Annotazioni

Questo parametro non è supportato nelle versioni 6 e successive di PowerShell. Se si specifica questo parametro, viene generato un errore.

Proprietà dei parametri

Tipo:String
Valore predefinito:Local computer
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

DefaultPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
RepeatPing
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
TraceRoute
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False
TcpPort
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-TargetName

Specifica i computer da testare. Digitare i nomi dei computer o digitare indirizzi IP in formato IPv4 o IPv6.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Nome del Computer

Set di parametri

(All)
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-TcpPort

Specifica il numero di porta TCP nella destinazione da utilizzare nel test della connessione TCP.

Il cmdlet tenta di stabilire una connessione TCP alla porta specificata nella destinazione.

  • Il cmdlet restituisce $true se viene stabilita una connessione.
  • Il cmdlet restituisce $false se non viene stabilita una connessione.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TcpPort
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-TimeoutSeconds

Imposta il valore di timeout per il test. Il test non riesce se non viene ricevuta una risposta prima della scadenza del timeout. Il valore predefinito è cinque secondi.

Questo parametro è stato introdotto in PowerShell 6.0.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:5 seconds
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Traceroute

Fa sì che il cmdlet esegua un test traceroute. Quando si utilizza questo parametro, il cmdlet restituisce un oggetto TestConnectionCommand+TraceStatus.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

TraceRoute
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

None

Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.

Output

Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus

Per impostazione predefinita, questo cmdlet restituisce un oggetto TestConnectionCommand+PingStatus per ogni risposta ping.

Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus

Quando si usa il parametro Traceroute, questo cmdlet restituisce un oggetto TestConnectionCommand+TraceStatus per ogni risposta ping lungo il percorso.

Boolean

Quando si utilizzano i parametri Quiet o TcpPort, questo cmdlet restituisce un valore booleano . Se il cmdlet verifica più connessioni, restituisce una matrice di valori Booleani.

Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus

Quando si utilizza il parametro MtuSize , questo cmdlet restituisce un oggetto TestConnectionCommand+PingMtuStatus per ogni risposta al ping.

Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus

Quando si usa il parametro Detailed, questo cmdlet restituisce un oggetto TestConnectionCommand+TcpPortStatus che mostra lo stato della connessione TCP.

Note

In Linux, usando il parametro BufferSize o qualsiasi combinazione di parametri con il set di parametri MtuSize che comporta una dimensione del buffer non predefinita di 32 byte può richiedere sudo. In questi casi, Test-Command genera un'eccezione con un messaggio che indica che è necessario sudo.