In questo precedente articolo avevamo visto alcuni comandi PowerShell per fare dei test della rete per verificarne eventuali problemi, invece ora ho voluto trovare il modo di realizzare uno script PowerShell che raccogliesse tutti i principali comandi che conoscevo, e alcuni che ho scoperto raccogliendo informazioni, per le gestione della rete con raccolta informazioni, test e modifica della configurazione.
Le funzioni principali, e più complesse, dello script le hanno create ChatGPT e Grok, una volta capito come era strutturato lo script ho aggiunto io una serie di comandi che mi interessavano.
Durante le prove fatte, sono usciti fuori una notevole quantità di problemi ed errori, che hanno richiesto varie "consultazioni" delle due AI, non posso escludere che ne troviate anche voi di nuovi.
I commenti sono a vostra disposizione per segnalarli e cercare di risolverli, come per l'aggiunta di nuovi comandi che possono essermi sfuggiti.
Nello script trovate dei blocchi di codice separati, e numerati, che contengono le varie funzioni e un paio di controlli, e avvisi, iniziali della versione di PowerShell utilizzata e dell'esecuzione dello script come amministratore, perché due funzioni presenti richiedono permessi elevati per essere eseguite.
Se lo script non si avvia dovete sbloccarne l'esecuzione.
Funzionamento
Lo script è composto da un primo menu con tre grandi categorie, Raccolta Informazioni, Test di Rete e Modifica Configurazione, da cui si accede alla sezione dei veri comandi.

Si possono eseguire dei comandi semplicemente scrivendo il numero, o la lettera, corrispondente.

In alcune funzioni è necessario un minimo di interazione per inserire il sito da controllare, mettere il numero di ping da fare o la porta da usare per vedere se è aperta o chiusa.

In uscita dallo script, se sono stati eseguiti dei test per la raccolta informazioni, per esempio, chiederà se si vuole salvare un report. Va indicata una cartella dove salvare il file, se non è presente viene creata, e il nome e l'estensione del file.
Ho scelto il formato txt perché mi è sembrato quello più compatibile e leggibile per i dati estratti dallo script.

Conclusioni
Questo script ha richiesto vari giorni di prove, anche per via dei problemi riscontrati che hanno richiesto numerosi interventi da parte delle AI, inoltre Zigul mi ha suggerito diversi aggiustamenti necessari.
Se vi domandate perché ho iniziato utilizzando ChatGPT, per passare poi a Grok, è perché a un certo punto la prima AI ha deciso di dare letteralmente i numeri commettendo numerosi errori, non rispondendo e non ricompilando lo script quando richiesto, così sono passato a Grok che ha finito il lavoro.
Non è però che anche questa AI sia immune dai comportamenti strani, lo script è diventato piuttosto corposo, attualmente sono 745 righe e oltre trentamila caratteri, così mi sono appoggiato a un servizio per poter condividere tutto il testo e ho chiesto un ricontrollo generale per vedere se si poteva migliorare qualcosa.
Nonostante le sue ripetute richieste se volevo riavere lo script completamente ricompilato, per vedere cosa aveva cambiato, ottenevo sempre un formato ridotto con dei messaggi del tipo "La funzione precedente non è cambiata fai copia e incolla di quella vecchia".
Avrei dovuto riprendere i due script, confrontarli e trasferire il testo da uno all'altro con la possibilità di perdermi qualche pezzo e generare errori.
L'esperienza con le due AI è stata comunque positiva, creare gli script in questo modo ti permette di risparmiare tempo, non sarei mai arrivato a fare una cosa così grande da solo, e ti permette anche di capire il funzionamento di certi comandi e funzioni di PowerShell che non conoscevo.
Di negativo sulle AI posso dire che bisogna stare molto attenti a come scrivono, o riscrivono, gli script, ci infilano dei bei svarioni o decidono che qualcosa che funzionava non va più bene e la cambiano.
Lo script è stato comunque testato anche da altri miei colleghi, su diversi computer, e sembra essere piuttosto robusto e affidabile.
Una configurazione di rete particolare, un software di protezione troppo restrittivo o qualsiasi altro imprevisto potrebbero generare degli errori nuovi che non ho riscontrato durante le prove fatte.