Kako napisati skriptu za Windows da biste promijenili mrežne postavke u letu

  • Joseph Goodman
  • 0
  • 3031
  • 635
Oglas

Ovaj tjedan naišao sam na zanimljiv problem. U mnogim uredima ili radnim okruženjima možda ćete trebati redefinirati mrežne postavke da biste se povezali s različitim mrežama. Na primjer, neki uzimaju prijenosno računalo sa sobom i imaju statički IP postavljen upravo za taj stroj. No, s obzirom da je radna mreža obično DHCP, osoba zahtijeva neprestano mijenjanje mrežnih postavki između statičkog IP-a ili automatskog DHCP-a, ovisno o tome gdje se nalaze.

Česti je problem inženjera ili IT osoblja koji se često moraju povezati s uređajima ili strojevima na maloj mreži unutar zgrade. Da biste se povezali s tom izdvojenom mrežom, morate promijeniti mrežne postavke u statički IP. Kasnije, kad se ponovno povežete s korporativnom mrežom, ponovno se vraća na DHCP.

Često sam se našao u ovoj situaciji i toliko sam se umorio od pregleda mrežne kartice, otvaranja IP postavki i tih uređivanja, da sam zaključio da je krajnje vrijeme da sastavim VB skriptu koja će sve učiniti u jednom ili dva klika. Ako ste slijedili zajedno s mojim člancima o programiranju, onda znate da volim VB skripte. Nekad sam ga koristio za stvaranje opsjednutog računala Napravite jezivo opsjednuto računalo sa Skripta za Windows za Noć vještica Napravite jezivo posjedovano računalo sa Skripta za Windows za Noć vještica Postoji puno zabavnih šala koje možete igrati sa svojim prijateljima s računalom. Vjerojatno ste vidjeli sve one jezive YouTube videozapise koje ljudi preusmjeravaju jedni drugima za dobro uplašavanje ..., a koristili su se i za automatizaciju Microsoft SyncToy Kako stvoriti alat za sigurnosnu kopiju podataka pomoću SyncToy i VB skripte Kako stvoriti alat za sigurnosnu kopiju podataka S SyncToy & VB Script opisali smo ovdje mnoštvo sigurnosnih rješenja na MUO-u, i sva su ta rješenja odlična, ali ako radite u okruženju koje je oprezno oko besplatnih softverskih paketa trećih strana ili kompanija ... za podatke sigurnosne kopije.

Ovaj zadatak je također moguće obaviti pomoću VB skripte, a čak je i moguće ga učiniti dovoljno fleksibilnim da bi mogao prihvatiti korisnički unos za statičku IP adresu. U ovom ću vam članku pokazati u tri dijela.

Izrada skripte za izmjenu mrežnih postavki

Tri su glavna zadatka koja trebate obaviti sa skriptu kako biste stvorili ovu malu aplikaciju za prebacivanje mrežnih postavki. Prvi je korištenje skripte za stvaranje statičkih IP postavki. Sljedeće je osmisliti skriptu koja će omogućiti DHCP. Na kraju, posljednje je pitati korisnika koji zadatak želi obaviti, a zatim iskoristiti tu povratnu informaciju kako bi je izvršio.

VB skripta za postavljanje statičkih IP postavki

Ne zaboravite da su sljedeće skripte potrebne za spremanje u obliku tekstualne datoteke s .wsf ekstenzijom da bi mogle raditi na Windows računalu. Sljedeća skripta promijenit će vaše mrežne postavke u statički IP s određenom maskom podmreže i zadanim gatewall-om, sa sva tri tvrdo kodirana u skriptu..

Za sve uzorke koda navedene u ovom članku obavezno ih dodajte “” na početku i “ na kraju se u protivnom kod neće pokrenuti.
Evo statičke skripte za promjenu IP adrese:

Opcija eksplicitna kod Pogreška Nastavi Slijedeći Dim objWMIService Dim objNetAdapter Dim strComputer Dim arrIPAdres 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") Postavi objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2" ) Postavite colNetAdapters = objWMIService.ExecQuery ("Odaberi * iz Win32_NetworkAdapterConfiguration gdje je IPEnabled = TRUE") Za svaki objNetAdapter u colNetAdapters errEnableStatic = objNetAdapter.EnableStatic Iftrtrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrvvcd () " Kraj If errGateways = objNetAdapter.SetGateways (arrGateway) Ako nije errGateways = 0 onda WScript.Echo "Neuspjeh u dodjeljivanju prolaza." Kraj ako je Sljedeći WScript.Quit

Ova skripta koristi Windows WMI uslugu u sustavu Windows kako bi ostvarila cilj promjene postavki. Možete vidjeti tri varijable fiksnog niza učitane s IP adresama, a zatim gdje skripta provjerava aktivnost “omogućeno” Mrežna kartica. Tada koristi “EnableStatic” i “SetGateways” metodama za unošenje tih potrebnih promjena. Kada pokrenem skriptu na svojoj kućnoj mreži (gdje trebam DHCP), možete vidjeti gdje je skripta uspješno promijenila postavke adaptera i izgubio sam internetsku vezu.

Nakon što je dokazao da statički-IP dio skripte radi, vrijeme je da napišete skriptu koja će adapter prilagoditi DHCP-u, tako da će automatski prepoznati mrežni IP. Evo skripte koju možete koristiti za to.

Opcija eksplicitna kod Pogreška Nastavi Slijedeći Dim objWMIService Dim objNetAdapter Dim strComputer Dim errEnable strComputer = "." Postavite objWMIService = GetObject ( "winmgmts: \\" i strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService.ExecQuery ( "SELECT * FROM Win32_NetworkAdapterConfiguration gdje IPEnabled = TRUE") za svaku objNetAdapter u colNetAdapters errEnable = objNetAdapter.EnableDHCP ( ) Sljedeći WScript.Quit

Kao što vidite, ova je skripta puno jednostavnija. Također koristi WMI, ali jedina potrebna funkcija je “EnableDHCP”. To se izvodi na trenutno omogućenom mrežnom adapteru. Nakon spremanja i pokretanja ove skripte, postavke prilagodničkih kartica ponovno su se promijenile u DHCP, a moja internetska veza ponovno je radila.

Dakle, sada kada ste dobili kôd da obavite obje važne radnje, sljedeći dio ovog trika bit će preuzimanje podataka od korisnika kako bi odredio koji statički IP želi. Da biste ponovo omogućili DHCP, možete od korisnika zahtijevati da unese riječ “AUTO” za automatsko otkrivanje IP-a.
Evo kako izgleda ova nova, cjelovita skripta koja uključuje dvije gornje skripte.

Opcija eksplicitna o pogrešci Resume Next Dim objWMIService Dim objNetAdapter Dim strCompjuter Dim arrIPAdresa Dim arrSubnetMask Dim arrGateway Dim colNetAdapters Dim errEnableStatic Dim errGateways Dim strInput Dim errFailed errFailed = "Str. InputO 0 strxput = 0 strxput In 0" In IPO Input (0 strInput = 0 strxput = 0 strInputO 0 strxput = 0 strInput (0 strInputO 0 strxput = 0 strxput = 0 strInput (0 strInput = 0 strxput = 0 strxput = 0 strInput (0) Tada je strComputer = "." Postavite objWMIService = GetObject ( "winmgmts: \\" i strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService.ExecQuery ( "SELECT * FROM Win32_NetworkAdapterConfiguration gdje IPEnabled = TRUE") za svaku objNetAdapter u colNetAdapters errEnable = objNetAdapter.EnableDHCP ( ) Ako nije errEnable = 0, tada je WScript.Echo "Postavljanje DHCP nije uspjelo." errFailed = 1 Kraj ako je Next Else strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Postavi objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") postavi colNet objWMIService.ExecQuery ("Odaberite * iz Win32_NetworkAdapterConfiguration gdje je IPEnabled = TRUE") Za svaki objNetAdapter u colNetAdapters errEnableStatic = objNetAdapter.EnableStatic (arrIPAddress, arrSilnetEr.Er. IfnSetnetEr.Er. IfrSubnetMer.FerSubnetEr.Er.FerSubnetEr.Er.FerSubnetMer. errFailed = 1 Kraj Ako je errGateways = objNetAdapter.SetGateways (arrGateway) Ako nije errGateways = 0, tada WScript.Echo "Neuspjeh u dodjeljivanju prolaza." errFailed = 1 Kraj If Next End Ako If errFailed = 0 Tada WScript.Echo "IP postavke su uspješno izmijenjene." Kraj If WScript.Quit

Ova skripta koristi funkciju InputBox za dobivanje statičkog IP-a ili “AUTO” naredba od korisnika.

Ako ništa drugo osim “AUTO” U polje se upisuje ono koje će se koristiti kao statički IP niz u odjeljku koda koji koristi WMI za postavljanje statičkih IP postavki za mrežni adapter. Tu je i ček za “0” potvrda rekavši da je sve prošlo u redu.

Provjeravajući postavke mrežne kartice nakon pokretanja skripte, potvrdio sam da je skripta u stvari promijenila statičku IP postavku.

Sada za testiranje AUTO skripte. Unosom AUTO zadovoljava se prvi uvjet u polju “AKO” provjera izjava za AUTO. Ovo pokreće zamjensku skriptu koja omogućuje DHCP.

Nakon što sam pokrenuo ovo, ušao sam u svoje postavke adaptera i dovoljno je siguran da je vraćen na Automatsko dobivanje IP adrese.

Iako je možda dovoljno jednostavan zadatak ući u postavke mrežne kartice i promijeniti se na statički ili DHCP, ako to često morate činiti, to može postati prava bol. To možete učiniti iz naredbenog retka koristeći “Netscape”, ali opet, morate zapamtiti sintaksu naredbi.

Upotreba gornje skripte omogućuje vam izgradnju brzog i jednostavnog uslužnog programa koji možete u bilo kojem trenutku koristiti za izmjenu mrežnih postavki u hodu.

Mislite da biste mogli isprobati ovaj Windows Skripta? Imate li još ideja da ga prilagodite i učinite još boljim? Podijelite svoje misli i prijedloge u odjeljku s komentarima u nastavku.

Kreditna slika: Binarni kodovi preko Shutterstocka




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.