Sovente capita di dover sostituire un computer e scoprire che l’utente non conosce nulla delle reti wireless che usa. Se si tratta di un desktop in una rete aziendale, le informazioni sono facilmente reperibili, ma se ci troviamo con un portatile che viene collegato in luoghi diversi l’affare si complica.
In tutto questo ci viene in aiuto un comando del sistema operativo, che salva le configurazioni in file .xml con tanto di password, per poi permetterci di importare queste configurazioni nel nuovo computer.
Per poter avere pronti all’uso i salvataggi su molte macchine, ecco la preparazione di un componente per Datto RMM (ex AEM).
Questa strana idea è nata dopo uno scambio di informazioni con l’amico IT Manager Mario Mancini, che ha riscoperto questa modalità di configurazione.
Si possono anche creare delle procedure di setup per la configurazione rapida del wireless sui computer di consulenti o persone esterne, senza fornire direttamente loro i dati con scomodi passaggi.
Il comando dei miracoli
Il comando di cui stiamo parlando non ha molto a che fare con i miracoli: si tratta semplicemente del netsh (NETwork Shell).
Si tratta di una utility a riga di comando inclusa nei sistemi operativi a partire da Microsoft Windows 2000 che permette la configurazione dei dispositivi di rete e di molti aspetti a loro associati.
Tra i suoi impieghi troviamo anche:
- il ripristino dello stack TCP/IP;
- la configurazione dell’indirizzo IP;
- la modifica delle impostazioni wireless;
- e altro ancora.
NETSH per il backup e ripristino delle reti wireless del computer
In questo articolo ci soffermiamo sui parametri di base per le operazioni di salvataggio delle configurazioni wireless e delle visualizzazioni delle reti associate, parametri che andremo poi ad integrare in un componente batch di Datto RMM.
Trattandosi di una utility in riga di comando, per poterla eseguire dobbiamo prima di tutto aprire una Command (CMD), oppure usare il comando all’interno di un file batch.
Possiamo eseguire il comando per avere una lista dei profili di connessione associati al computer: in questo caso la sintassi del comando da digitare è la seguente.
Il risultato del comando sarà la lista degli SSID delle reti e se l’uso è per tutti gli utenti del computer o solo per quello collegato.
Il nome degli SSID diventa utile per salvare le configurazioni di una specifica rete wireless definita, in tal caso andremo a digitare il seguente comando.
Il parametro export richiede il salvataggio dei dati di configurazione; con il parametro profile specifichiamo il SSID della rete da salvare (diventa il nome della rete); il parametro key impostato a clear determina il salvataggio in chiaro della password della connessione; quindi con folder specifichiamo il percorso dove salvare il file xml con la configurazione, il percorso deve esistere. Omettendo il parametro profile avremo come risultato l’esportazione dei dati di configurazione per tutte le reti wireless definite nel computer.
Per ognuna otteniamo un file xml dedicato.
Ottenuti i salvataggi possiamo importarli sul nuovo computer o sul vecchio dopo aver cancellato tutte le connessioni wireless.
In questo caso con add specifichiamo che deve essere aggiunto un profilo, la cui configurazione è presente nel file xml passato al parametro filename; se il file non è nel percorso di default della CMD, sarà necessario specificare il percorso completo. Per finire con il parametro user=all importiamo la configurazione per tutti gli utenti del computer.
NETSH dentro Datto RMM
Il componente che abbiamo creato ha lo scopo di raccogliere le liste di reti wireless di diversi computer, fornendo queste informazioni nei report di esecuzione del componente. Usando gli SSID presenti nella lista, è possibile fare delle specifiche esportazioni in base al nome, oppure creare i file di configurazione per tutte le reti presenti.
I file xml sono salvati in una specifica cartella del computer, indicata nella configurazione del componente al momento della sua attivazione.
Il componente richiede 3 variabili di configurazione:
- ReadOnly: può assumere due valori, true o false, nel primo caso il componente genera solo la lista delle reti, mentre nel secondo esporta i dati di configurazione. Il default è false.
- Folder: specifica il percorso dove i file di configurazione saranno salvati, ha significato solo se ReadOnly è impostata a false. Il default è c:temp. Se il percorso non esiste, viene creato dal componente.
- ProfileSSID: permette l’inserimento del nome di una specifica rete wireless di cui si vuole ottenere il file di configurazione.
Il componente WiFi Export
Vediamo ora in modo sintetico come lavora il componente base, di cui leggiamo il codice di seguito.
- IF %ReadOnly% == true GOTO LIST
- IF NOT DEFINED ProfileSSID (
- IF NOT EXIST %folder%NUL (
- mkdir %folder%
- )
- netsh wlan export profile key=clear folder=%folder%
- ) ELSE (
- IF NOT EXIST %folder%NUL (
- mkdir %folder%
- )
- netsh wlan export profile %ProfileSSID% key=clear folder=%folder%
- )
- goto END
- :LIST
- netsh wlan show profiles
- :END
Alla riga 1 verifichiamo se si intende fare una esportazione o vedere la lista: la presenza del valore true ci rimanda direttamente al comando di lettura della riga 15 e al termine della procedura.
Con il parametro ReadOnly a false passiamo alla riga 2 e verifichiamo se è definito il nome di una rete specifica. Se non lo è, eseguiamo il codice dalla riga 3 alla riga 6. Se invece il nome è presente, andiamo ad eseguire il codice dalla riga 8 alla riga 11.
In entrambi i blocchi dalla riga 3 alla riga 5 e dalla riga 8 alla riga 10, il codice verifica l’esistenza del percorso di salvataggio specificato e in sua assenza lo crea.
La riga 6 esegue il salvataggio delle configurazioni di tutte le reti wireless nel percorso specificato, invece la riga 11 esegue il solo salvataggio della rete specificata.
La riga 12 chiude la procedura scavalcando il codice per la generazione della lista delle reti.
Buona navigazione in wireless!
Tratto dal blog di Emilio Polenghi