In questo nostro articolo avevamo visto come i comandi ping, tracert e telnet ci permettevano di diagnosticare eventuali problemi alla nostra rete o a un sito che cercavamo di raggiungere e non ci riuscivamo. Ora tutto questo lo possiamo fare da PowerShell con i comandi Test-NetConnection o Test-Connection.
Nella stesura dell'articolo utilizzerò TurboLab.it come destinazione delle prove, però dovrebbe funzionare anche con qualsiasi indirizzo ip interno di una rete aziendale.
Aggiunti all'articolo un file di comandi e uno script PowerShell per testare la risoluzione DNS di un sito a scelta.
Il commando Test-NetConnection, senza opzioni, esegue un test verso il sito interbeacon.msedge.net, mentre se aggiungiamo l'opzione -InformationLevel Detailed otteniamo alcuni dettagli in più.

Se a Test-NetConnection aggiungiamo il nome di un sito, e abbiamo bisogno di sapere se un sito/indirizzo è raggiungibile su una determinata porta, dobbiamo usare il comando Test-NetConnection TurboLab.it -port 443
Se il sito risponde, il risultato del TcpTestSucceeded sarà True, altrimenti, in caso di mancata risposta del sito, sulla porta indicata, ci sarà un False e la connessione failed. È l'equivalente del comando telnet di una volta.

Se Test-NetConnection è troppo lungo da ricordare, come comando, si può usare l'abbreviazione TNC.
Se si inserisce l'indirizzo di un sito che non esiste la connessione sarà in failed ovviamente.

Se vogliamo sapere se il server di posta che utilizziamo risponde, sulla porta che abbiamo scelto per la configurazione del nostro client di posta, dobbiamo usare il comando Test-NetConnection -ComputerName smtp.gmail.com -Port 465.

Con il comando Test-Connection -Computername 8.8.8.8, TurboLab.it, google.it possiamo vedere se rispondono una serie di indirizzi a nostra scelta.

Se vogliamo verificare se la connessione verso il sito è stabile, possiamo aggiungere l'opzione -Count X, dove X è un numero intero a nostra scelta per ripetere il "Ping" verso il sito per X volte.
Il comando diventa quindi questo Test-Connection -ComputerName TurboLab.it -Count 10 se vogliamo lanciare 10 ping consecutivi.

Il commando Test-NetConnection TurboLab.it -TraceRoute permette di "tracciare la rotta" dal vostro computer verso il sito di destinazione e sapere quali indirizzi rispondono.

Rispetto al più tradizionale comando tracert ci sono alcuni dettagli in meno.

Lo script e il file di comandi
In allegato all'articolo trovate uno script PowerShell e un file di comandi per testare la risoluzione di un sito.
Se volete cambiare i server DNS utilizzati basta modificare questa riga, presente nei due file allegati, e inserire quelli scelti da voi.
[string[]]$DnsServer = @('1.1.1.1','8.8.8.8') Il file di comandi test_dns.cmd lo utilizzo per superare il problema dell'esecuzione bloccata degli script di PowerShell.
Ci sono due richieste quando il file di comandi, o lo script Powershell, vengono eseguiti, di confermare, con Invio, la porta 443 di default per il test di tutti gli indirizzi Https, oppure scrivere la porta che si vuole utilizzare, e di inserire l'indirizzo del sito da provare.
Il server "ClientDefault" è quello che avete configurato nella scheda di rete, che può essere quello predefinito del vostro provider di rete o quello che avete impostato voi manualmente.

Conclusioni
I comandi ping, tracert e telnet, sono ancora disponibili nelle versioni più recenti del sistema operativo, anche se telnet è stato "nascosto" nelle funzionalità aggiuntive e bisogna installarlo a parte, l'uso di PowerShell e dei due comandi presentati nell'articolo ci permette di creare degli script per automatizzare determinate operazioni.
Per saperne qualcosa in più sulle opzioni disponibili potete consultare le relative pagine Microsoft per il comando Test-Connection e Test-NetConnection.