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
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
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
È 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
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
$truese viene stabilita una connessione. - Il cmdlet restituisce
$falsese 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.