Publicitate
Săptămâna aceasta, am dat peste o problemă interesantă. În multe birouri sau medii de lucru, poate fi necesar să redefiniți setările rețelei pentru a vă conecta la diferite rețele. De exemplu, unii oameni își iau laptopul acasă cu ei și au un IP static configurat special pentru aparatul respectiv. Cu toate acestea, din moment ce rețeaua de lucru este de obicei DHCP, aceasta necesită persoanei să continue să schimbe setările rețelei între un IP static sau DHCP automat, în funcție de locul unde se află.
O problemă mai frecventă o reprezintă inginerii sau personalul IT care deseori trebuie să se conecteze la dispozitive sau mașini dintr-o rețea mică din cadrul unei clădiri. Pentru a vă conecta la acea rețea izolată, trebuie să schimbați setările rețelei la un IP static. Mai târziu, când vă reconectați la rețeaua corporativă, reveniți la DHCP.
M-am trezit destul de des în această situație și m-am săturat atât de mult să navighez pe placa de rețea, deschizând setările IP și făcând acele modificări, am decis că este timpul să reunesc un script VB care să facă totul într-unul sau două clicuri. Dacă ați urmărit împreună cu articolele mele de programare, atunci știți că îmi plac scripturile VB. L-am obișnuit odată
creați un computer posedat Creați un computer ciudat cu script Windows pentru HalloweenExistă o mulțime de farse distractive pe care le poți juca pe prietenii tăi cu un computer. Probabil că ați văzut toate videoclipurile acelea înfiorătoare pe care oamenii le transmit reciproc pentru o sperie bună ... Citeste mai mult , și, de asemenea, obișnuit automatizarea Microsoft SyncToy Cum se creează un instrument de backup pentru date cu scriptul SyncToy & VBAm acoperit o mulțime de soluții de rezervă aici la MUO și toate aceste soluții sunt grozave, dar dacă lucrați într-un mediu care nu vă privește pachetele software gratuite pentru terți sau companii ... Citeste mai mult pentru backup-uri de date.Este de asemenea posibil să îndepliniți această sarcină cu scriptul VB și este chiar posibil să o faceți suficient de flexibilă, astfel încât să poată accepta introducerea utilizatorului pentru adresa IP statică. În acest articol, vă voi arăta cum se poate face în trei secțiuni.
Crearea unui script Schimbare setare rețea
Există trei sarcini principale pe care trebuie să le îndeplinești cu scriptul pentru a crea această mică aplicație pentru comutarea setărilor rețelei. Primul este să folosiți scriptul pentru a crea setări IP statice. Următorul este să vină cu un script pentru a activa DHCP. În cele din urmă, ultima este să întrebi utilizatorul ce sarcină dorește să facă, apoi să folosești acel feedback pentru a-l îndeplini.
Script VB pentru a seta setările IP statice
Nu uitați, următoarele scripturi trebuie salvate ca fișier text cu extensie .wsf pentru a putea lucra pe un computer Windows. Scriptul următor va schimba setările de rețea la un IP static cu o mască de subrețetă specifică și un gatewall implicit, cu toate cele trei codificate în script.
Pentru toate eșantioanele de cod enumerate în acest articol, asigurați-vă că adăugați „
Iată scriptul de modificare a IP-ului static:
Opțiunea Explicit la eroare Reluați următorul Dim objWMIService. Dim objNetAdapter. DimCComputer. Dim arrIPAdresa. 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") Set colNetAdapters = objWMIService. ExecQuery ("Selectați * din Win32_NetworkAdapterConfiguration unde IPEnabled = TRUE") Pentru fiecare objNetAdapter din colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Dacă Nu errEnableStatic = 0 Atunci WScript. Ecou "Eroare la alocarea IP / subrețea." End If errGateways = objNetAdapter. SetGateways (arrGateway) Dacă Nu errGateways = 0 Atunci WScript. Ecou „Efectuarea atribuirii gateway-ului”. End If Next. WScript. Părăsi
Acest script utilizează serviciul Windows WMI în Windows pentru a atinge scopul schimbării setărilor. Puteți vedea cele trei variabile de matrice fixe încărcate cu adresele IP, iar apoi scriptul verifică cardul de rețea „activat” activ. Apoi folosește metodele „EnableStatic” și „SetGateways” pentru a face modificările necesare. Când rulez scriptul în rețeaua de domiciliu (unde am nevoie de DHCP), puteți vedea unde scriptul mi-a schimbat cu succes setările adaptorului și mi-am pierdut conexiunea la Internet.
După ce a demonstrat că partea statică-IP a scriptului funcționează, este timpul să scrieți scriptul care va seta adaptorul la DHCP, astfel încât să detecteze automat IP-ul rețelei. Iată scriptul pe care îl puteți utiliza pentru a face acest lucru.
Opțiunea Explicit la eroare Reluați următorul Dim objWMIService. Dim objNetAdapter. DimCComputer. Dim errEnable strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Selectați * din Win32_NetworkAdapterConfiguration unde IPEnabled = TRUE") Pentru fiecare objNetAdapter din colNetAdapters errEnable = objNetAdapter. EnableDHCP () Următorul WScript. Părăsi
După cum puteți vedea, acest script este mult mai simplu. De asemenea, folosește WMI, dar singura funcție necesară este „EnableDHCP”. Acest lucru este efectuat pe adaptorul de rețea activat în prezent. După salvarea și rularea acestui script, setările cardului adaptorului s-au schimbat din nou în DHCP, iar conexiunea mea la Internet a funcționat din nou.
Așadar, acum când aveți codul pentru a efectua ambele acțiuni importante, următoarea parte a acestui truc va fi să intrați de la utilizator pentru a determina exact ce IP static dorește. Pentru a reactiva DHCP, puteți solicita utilizatorului să introduceți cuvântul „AUTO” pentru a detecta automat IP-ul.
Iată cum arată acest nou script complet care încorporează cele două scripturi de mai sus.
Opțiunea Explicit la eroare Reluați următorul Dim objWMIService. Dim objNetAdapter. DimCComputer. Dim arrIPAdresa. Dim arrSubnetMask. Dim arrGateway. Dim colNetAdapters. Dim errEnableStatic. Dim errGateways. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Type Static IP Address or AUTO") Dacă strInput = "AUTO" Atunci strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Selectați * din Win32_NetworkAdapterConfiguration unde IPEnabled = TRUE") Pentru fiecare objNetAdapter din colNetAdapters errEnable = objNetAdapter. EnableDHCP () Dacă Nu errEnable = 0 Atunci WScript. Ecran „Setarea DHCP a eșuat”. errFailed = 1 End If Next. În rest strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Selectați * din Win32_NetworkAdapterConfiguration unde IPEnabled = TRUE") Pentru fiecare objNetAdapter din colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Dacă Nu errEnableStatic = 0 Atunci WScript. Ecou "Eroare la alocarea IP / subrețea." errFailed = 1 End If errGateways = objNetAdapter. SetGateways (arrGateway) Dacă Nu errGateways = 0 Atunci WScript. Ecou „Efectuarea atribuirii gateway-ului”. errFailed = 1 End If Next End If If errFailed = 0 Atunci WScript. Ecuați „Setări IP modificate cu succes”. End If WScript. Părăsi
Acest script utilizează funcția InputBox pentru a obține fie IP-ul static, fie comanda „AUTO” de la utilizator.
Dacă este introdus în câmp altceva decât „AUTO”, acesta va fi utilizat ca șir IP static în secțiunea de cod care utilizează WMI pentru a seta setările IP statice pentru adaptorul de rețea. Există, de asemenea, o verificare pentru confirmarea „0” spunând că totul a decurs bine.

Verificând setările cardului meu de rețea după executarea scriptului, am confirmat că scriptul a făcut, de fapt, modificările setării IP statice.
Acum, pentru a testa scriptul AUTO. Tastarea AUTO îndeplinește prima condiție din declarația „IF” verificând AUTO. Acesta rulează scriptul alternativ care activează DHCP.

După ce a rulat acest lucru, am intrat în setările adaptorului meu și suficient de sigur, a fost setată din nou pentru a Obține o adresă IP automat.
În timp ce poate fi o sarcină suficient de simplă pentru a intra în setările cardului de rețea și a schimba în static sau DHCP, dacă trebuie să o faceți de multe ori, poate deveni o adevărată durere. Puteți face asta dintr-o linie de comandă folosind „netsh”, dar, din nou, trebuie să vă amintiți sintaxa comenzii.
Utilizarea scriptului de mai sus vă permite să construiți un utilitar rapid și ușor pe care îl puteți utiliza oricând pentru a schimba setările de rețea din mers.
Crezi că poți încerca acest script Windows? Aveți alte idei pentru a-l regla și îmbunătăți? Împărtășește-ți gândurile și sugestiile în secțiunea de comentarii de mai jos.
Credit imagine:Coduri binare prin Shutterstock
Ryan are o diplomă de licență în inginerie electrică. A lucrat 13 ani în domeniul ingineriei automatizării, 5 ani la IT, iar acum este inginer pentru aplicații. Fost redactor manager al MakeUseOf, a vorbit la conferințe naționale despre vizualizarea datelor și a fost prezentat la TV și radio naționale.