Annuncio pubblicitario

cambia lo script delle impostazioni di reteQuesta settimana mi sono imbattuto in un problema interessante. In molti uffici o ambienti di lavoro, potrebbe essere necessario ridefinire le impostazioni di rete per connettersi a reti diverse. Ad esempio, alcune persone portano a casa il proprio laptop e hanno un IP statico impostato appositamente per quella macchina. Tuttavia, poiché la rete di lavoro è generalmente DHCP, ciò richiede che la persona continui a modificare le impostazioni di rete tra un IP statico o un DHCP automatico a seconda di dove si trovano.

Un problema più comune è per gli ingegneri o il personale IT che spesso devono connettersi a dispositivi o macchine su una piccola rete all'interno di un edificio. Per connettersi a quella rete isolata, è necessario modificare le impostazioni di rete in un IP statico. Successivamente, quando ti riconnetti alla rete aziendale, torna nuovamente a DHCP.

Mi sono trovato abbastanza spesso in questa situazione e mi sono stancato di navigare sulla scheda di rete, aprendo le impostazioni IP e facendo quelle modifiche, ho deciso che era giunto il momento di mettere insieme uno script VB che avrebbe fatto tutto in uno o due scatti. Se hai seguito i miei articoli di programmazione, allora sai che adoro gli script VB. L'ho usato una volta

instagram viewer
creare un computer posseduto Crea un computer posseduto Freaky con Windows Script per HalloweenCi sono molti scherzi divertenti che puoi giocare sui tuoi amici con un computer. Probabilmente hai visto tutti quei raccapriccianti video di YouTube che le persone si scambiano per un buon spavento ... Leggi di più , e anche a automatizzare Microsoft SyncToy Come creare uno strumento di backup dei dati con SyncToy e VB ScriptAbbiamo coperto molte soluzioni di backup qui a MUO e tutte queste soluzioni sono fantastiche, ma se stai lavorando in un ambiente che è diffidente nei confronti di pacchetti software di terze parti gratuiti o aziende ... Leggi di più per il backup dei dati.

È anche possibile eseguire questa attività con lo script VB ed è persino possibile renderlo abbastanza flessibile in modo che possa accettare l'input dell'utente per l'indirizzo IP statico. In questo articolo, ti mostrerò come farlo in tre sezioni.

Creazione di uno script di modifica delle impostazioni di rete

Ci sono tre attività principali che devi compiere con lo script per creare questa piccola app per cambiare le impostazioni di rete. Il primo è utilizzare lo script per creare impostazioni IP statiche. Il prossimo è creare uno script per abilitare DHCP. Infine, l'ultimo è chiedere all'utente quale compito desidera svolgere, quindi utilizzare quel feedback per eseguirlo.

VB Script per configurare le impostazioni IP statiche

Ricorda, i seguenti script devono essere salvati come file di testo con estensione .wsf per funzionare su un PC Windows. Il seguente script cambierà le impostazioni di rete in un IP statico con una subnet mask specifica e un gatewall predefinito, con tutti e tre i codici hard nello script.

Per tutti gli esempi di codice elencati in questo articolo, assicurati di aggiungere " alla fine, altrimenti il ​​codice non verrà eseguito.
Ecco lo script di modifica dell'IP statico:

Opzione esplicita su errore Riprendi dim successivo objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Dim colNetAdapters. Dim errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Array ("192.168.1.106") arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Imposta colNetAdapters = objWMIService. ExecQuery ("Seleziona * da Win32_NetworkAdapterConfiguration dove IPEnabled = TRUE") per ogni objNetAdapter in colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) If Not errEnableStatic = 0 Quindi WScript. Eco "Errore nell'assegnazione dell'IP / sottorete." End If errGateways = objNetAdapter. SetGateways (arrGateway) If Not errGateways = 0 Quindi WScript. Eco "Errore nell'assegnazione del gateway". Termina se successivo. WScript. Smettere

Questo script utilizza il servizio WMI di Windows in Windows per raggiungere l'obiettivo di modificare le impostazioni. È possibile visualizzare le tre variabili dell'array fisso caricate con gli indirizzi IP e quindi lo script controlla la scheda di rete "abilitata" attiva. Quindi utilizza i metodi "EnableStatic" e "SetGateways" per apportare le modifiche richieste. Quando eseguo lo script sulla mia rete domestica (dove ho bisogno di DHCP), puoi vedere dove lo script ha modificato correttamente le impostazioni della mia scheda e ho perso la connessione a Internet.
Come scrivere uno script di Windows per modificare le impostazioni di rete al volo autodhcp1
Avendo dimostrato che la parte IP statica dello script funziona, è tempo di scrivere lo script che imposterà l'adattatore su DHCP in modo che rilevi automaticamente l'IP di rete. Ecco lo script che puoi usare per farlo.

Opzione esplicita su errore Riprendi dim successivo objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Imposta objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Imposta colNetAdapters = objWMIService. ExecQuery ("Seleziona * da Win32_NetworkAdapterConfiguration dove IPEnabled = TRUE") per ogni objNetAdapter in colNetAdapters errEnable = objNetAdapter. EnableDHCP () WScript successivo. Smettere

Come puoi vedere, questo script è molto più semplice. Utilizza anche WMI, ma l'unica funzione richiesta è "EnableDHCP". Questo viene eseguito sulla scheda di rete attualmente abilitata. Dopo aver salvato ed eseguito questo script, le impostazioni della mia scheda adattatore sono tornate a DHCP e la mia connessione Internet funzionava di nuovo.
cambia lo script delle impostazioni di rete
Quindi, ora che hai il codice per eseguire entrambe le azioni importanti, la parte successiva di questo trucco sarà quella di prendere l'input dell'utente per determinare esattamente quale IP statico desidera. Per riattivare il DHCP, è possibile richiedere all'utente di immettere la parola "AUTO" per rilevare automaticamente l'IP.
Ecco come appare questo nuovo script completo che incorpora i due script sopra.

Opzione esplicita su errore Riprendi dim successivo objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Dim colNetAdapters. Dim errEnableStatic. Dim errGateways. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Tipo indirizzo IP statico o AUTO") Se strInput = "AUTO" Quindi strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Imposta colNetAdapters = objWMIService. ExecQuery ("Seleziona * da Win32_NetworkAdapterConfiguration dove IPEnabled = TRUE") per ogni objNetAdapter in colNetAdapters errEnable = objNetAdapter. EnableDHCP () If Not errEnable = 0 Quindi WScript. Eco "Impostazione DHCP non riuscita." errFailed = 1 End If Next. Else strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Imposta colNetAdapters = objWMIService. ExecQuery ("Seleziona * da Win32_NetworkAdapterConfiguration dove IPEnabled = TRUE") per ogni objNetAdapter in colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) If Not errEnableStatic = 0 Quindi WScript. Eco "Errore nell'assegnazione dell'IP / sottorete." errFailed = 1 End If errGateways = objNetAdapter. SetGateways (arrGateway) If Not errGateways = 0 Quindi WScript. Eco "Errore nell'assegnazione del gateway". errFailed = 1 End If Next End If If errFailed = 0 Quindi WScript. Eco "Impostazioni IP modificate correttamente." Termina se WScript. Smettere

Questo script utilizza la funzione InputBox per ottenere l'IP statico o il comando "AUTO" dall'utente.
cambia lo script delle impostazioni di rete

Se nel campo viene digitato qualcosa di diverso da "AUTO", verrà utilizzato come stringa IP statica nella sezione del codice che utilizza WMI per configurare le impostazioni IP statiche per la scheda di rete. C'è anche un controllo per la conferma "0" che dice che tutto è andato bene.

script per modificare le impostazioni di rete

Controllando le impostazioni della mia scheda di rete dopo aver eseguito lo script, ho confermato che lo script ha effettivamente apportato modifiche alle impostazioni dell'IP statico.
script per modificare le impostazioni di rete
Ora per testare lo script AUTO. La digitazione di AUTO soddisfa la prima condizione nell'istruzione "IF" che verifica AUTO. Ciò esegue lo script alternativo che abilita DHCP.

script per modificare le impostazioni di rete

Dopo aver eseguito questo, sono andato nelle impostazioni del mio adattatore e, abbastanza sicuro, è stato ripristinato automaticamente per ottenere un indirizzo IP.
script per cambiare rete
Mentre può essere un'attività abbastanza semplice andare nelle impostazioni della scheda di rete e passare a statico o DHCP, se devi farlo molto spesso può diventare un vero problema. Potresti farlo da una riga di comando usando "netsh", ma ancora una volta, devi ricordare la sintassi del comando.

L'uso dello script sopra ti consente di creare un'utilità semplice e veloce che puoi utilizzare in qualsiasi momento per cambiare le impostazioni di rete al volo.

Pensi di provare questo script di Windows? Altre idee per modificarlo e renderlo ancora migliore? Condividi i tuoi pensieri e suggerimenti nella sezione commenti qui sotto.

Credito d'immagine:Codici binari tramite Shutterstock

Ryan ha una laurea in ingegneria elettrica. Ha lavorato 13 anni in ingegneria dell'automazione, 5 anni in IT e ora è un ingegnere di app. Ex amministratore delegato di MakeUseOf, ha parlato a conferenze nazionali sulla visualizzazione dei dati ed è stato presentato su TV e radio nazionali.