Oglas
Ta teden sem naletel na zanimiv problem. V mnogih pisarnah ali delovnih okoljih boste morda morali na novo določiti omrežne nastavitve, da se povežete z različnimi omrežji. Na primer, nekateri ljudje s seboj vzamejo prenosni računalnik in imajo statični IP nastavljen posebej za ta stroj. Ker pa je delovno omrežje ponavadi DHCP, mora ta oseba spreminjati omrežne nastavitve med statičnim IP ali samodejnim DHCP, odvisno od tega, kje so.
Pogostejša težava je inženirjev ali osebja IT, ki se morajo pogosto povezati z napravami ali stroji v majhnem omrežju znotraj stavbe. Če se želite povezati s tem izoliranim omrežjem, morate spremeniti omrežne nastavitve v statični IP. Pozneje, ko se ponovno povežete s podjetniškim omrežjem, se spet vrne na DHCP.
V tej situaciji sem se znašel dovolj pogosto in se tako naveličal brskanja po omrežni kartici, ki je odprl nastavitve IP in ko sem naredil te spremembe, sem se odločil, da je skrajni čas, da sestavim skript VB, ki bo vse to opravil v enem ali dveh kliki. Če ste spremljali moje članke o programiranju, potem veste, da imam rad VB skripte. Nekoč sem ga uporabljal
ustvarite računalnik Ustvari muhast računalnik z Windows skriptom za noč čarovnicObstaja ogromno zabavnih potez, ki jih lahko igrate s prijatelji z računalnikom. Verjetno ste že videli vse tiste grozljive videoposnetke na YouTubu, ki jih ljudje pošljejo drug drugemu za dober strah ... Preberi več , in tudi včasih avtomatizirati Microsoft SyncToy Kako ustvariti orodje za varnostno kopiranje podatkov s SyncToy & VB ScriptNa MUO smo zajeli veliko rezervnih rešitev in vse te rešitve so odlične, vendar če delate v okolju, ki je previdno glede brezplačnih programskih paketov tretjih strank ali podjetij ... Preberi več za varnostno kopiranje podatkov.To nalogo je mogoče izvesti tudi s skriptom VB, celo je mogoče, da je dovolj prilagodljiv, da lahko sprejme statični IP naslov uporabnika. V tem članku vam bom v treh razdelkih pokazal, kako to storiti.
Ustvarjanje skripta za spreminjanje omrežne nastavitve
Obstajajo tri glavne naloge, ki jih morate opraviti s skriptom, da ustvarite to malo aplikacijo za preklapljanje omrežnih nastavitev. Prva je uporaba skripta za ustvarjanje statičnih nastavitev IP. Naslednja je izdelava skripta, ki bo omogočil DHCP. Končno je, da uporabnika vprašate, katero nalogo želi opraviti, nato pa uporabi povratne informacije, da jo opravi.
Skript VB za nastavitev statičnih nastavitev IP
Ne pozabite, da je treba naslednje spise skriptirati kot besedilno datoteko s pripono .wsf, da lahko delate na računalniku z operacijskim sistemom Windows. Naslednji skript bo spremenil vaše omrežne nastavitve v statični IP z določeno masko podomrežja in privzetim prehodom, pri čemer bodo vsi trije trdi kodirani v skript.
Za vse vzorce kode, naštete v tem članku, ne pozabite dodati „
Tu je skript za statično spremembo IP-ja:
Možnost eksplicitna ob napaki Nadaljuj Naprej Dim objWMIService. Dim objNetAdapter. Dim strCračunalnik. Zatemnitev arRIPAdress. Dim arrSubnetMask. Zatemnite se. Zatemnjeni colNetAdapters. Dim errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Array ("192.168.1.106") arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") nastavi objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nastavite colNetAdapters = objWMIService. ExecQuery ("Izberi * iz Win32_NetworkAdapterConfiguration, kjer je IPEnabled = TRUE") Za vsak objNetAdapter v colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Če ni errEnableStatic = 0, potem WScript. Odmev "Neuspešno dodeljevanje IP / podomrežja." Konec Če je errGateways = objNetAdapter. SetGateways (arrGateway) Če ni errGateways = 0, potem WScript. Odmev "Neuspeh pri dodeljevanju prehoda." Konec Če Naprej. WScript Prenehati
Ta skript uporablja storitev Windows WMI v sistemu Windows za dosego cilja spreminjanja nastavitev. Lahko vidite tri spremenljivke fiksnega niza, naložene z naslovi IP, nato pa tam, kjer skript preveri, ali je aktivna omrežna kartica "omogočena". Nato s temi metodami "EnableStatic" in "SetGateways" vnese potrebne zahteve. Ko zaženem skript v domačem omrežju (kjer zahtevam DHCP), lahko vidite, kje je skript uspešno spremenil moje nastavitve adapterja in izgubil sem internetno povezavo.
Ko smo dokazali, da del skripta deluje s statičnim IP, je čas, da napišemo skript, ki bo adapter nastavil na DHCP, tako da bo samodejno zaznal omrežni IP. Tu je skript, ki ga lahko uporabite za to.
Možnost eksplicitna ob napaki Nadaljuj Naprej Dim objWMIService. Dim objNetAdapter. Dim strCračunalnik. Dim errEnable strComputer = "." Nastavite objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nastavite colNetAdapters = objWMIService. ExecQuery ("Izberi * iz Win32_NetworkAdapterConfiguration, kjer je IPEnabled = TRUE") Za vsak objNetAdapter v colNetAdapters errEnable = objNetAdapter. OmogočiDHCP () Naslednji WScript. Prenehati
Kot vidite, je ta skript veliko enostavnejši. Uporablja tudi WMI, vendar je potrebna samo funkcija "EnableDHCP". To se izvaja na trenutno omogočenem omrežnem adapterju. Po shranjevanju in zagonu tega skripta so se moje nastavitvene kartice spremenile v DHCP in moja internetna povezava je ponovno delovala.
Zdaj, ko boste dobili kodo za izvedbo obeh pomembnih dejanj, bo naslednji del tega trika uporabnik vnesti, da bo natančno določil, kateri statični IP želi. Če želite znova omogočiti DHCP, lahko od uporabnika zahtevate, da vnese besedo "AUTO" za samodejno zaznavanje IP.
Tu je videti, kako izgleda ta nov, celoten skript, ki vsebuje dva zgornja skripta.
Možnost eksplicitna ob napaki Nadaljuj Naprej Dim objWMIService. Dim objNetAdapter. Dim strCračunalnik. Zatemnitev arRIPAdress. Dim arrSubnetMask. Zatemnite se. Zatemnjeni colNetAdapters. Dim errEnableStatic. Dim errGateways. Zatemnite strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Vnesite statični IP naslov ali AUTO") Če strInput = "AUTO", potem strComputer = "." Nastavite objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nastavite colNetAdapters = objWMIService. ExecQuery ("Izberi * iz Win32_NetworkAdapterConfiguration, kjer je IPEnabled = TRUE") Za vsak objNetAdapter v colNetAdapters errEnable = objNetAdapter. EnableDHCP () Če ni errEnable = 0, potem WScript. Odmev "Nastavitev DHCP ni uspela." errFailed = 1 Konec Če Naprej. Ostalo strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") nastavi objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nastavi colNetAdapters = objWMIService. ExecQuery ("Izberi * iz Win32_NetworkAdapterConfiguration, kjer je IPEnabled = TRUE") Za vsak objNetAdapter v colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Če ni errEnableStatic = 0, potem WScript. Odmev "Neuspešno dodeljevanje IP / podomrežja." errFailed = 1 konec Če je errGateways = objNetAdapter. SetGateways (arrGateway) Če ni errGateways = 0, potem WScript. Odmev "Neuspeh pri dodeljevanju prehoda." errFailed = 1 konec, če je naslednji konec, če je, če je errFailed = 0, potem WScript. Odmev "Nastavitve IP-ja uspešno spremenjene." Konec, če WScript. Prenehati
Ta skript uporablja funkcijo InputBox, da od uporabnika pridobi bodisi statični IP bodisi ukaz »AUTO«.
Če je v polje vneseno kaj drugega kot »AUTO«, bo to uporabljeno kot statični niz IP v odseku kode, ki uporablja WMI za nastavitev statičnih nastavitev IP za omrežni adapter. Obstaja tudi preverjanje potrditve "0", ki pravi, da je šlo vse v redu.
Preverjanje nastavitev omrežne kartice po zagonu skripta sem potrdil, da se je v skriptu dejansko spremenila statična nastavitev IP.
Zdaj preizkusite skript AUTO. Vtipkavanje AUTO izpolnjuje prvi pogoj v stavku "IF", ki preverja možnost AUTO. Ta zažene nadomestni skript, ki omogoča DHCP.
Po zagonu sem šel v svoje nastavitve adapterja in prepričan sem bil, da je bil nastavljen nazaj na Samodejno pridobivanje IP naslova.
Čeprav je morda dovolj preprosta naloga, da se spustite v nastavitve svoje omrežne kartice in spremenite v statične ali DHCP, če to morate storiti res pogosto, pa lahko postane prava bolečina. Lahko bi to naredili iz ukazne vrstice z uporabo "netsh", vendar si morate spet zapomniti skladnjo ukazov.
Zgornja skripta vam omogočajo, da zgradite hiter in enostaven pripomoček, ki ga lahko kadarkoli uporabite za preklop omrežnih nastavitev.
Mislite, da boste morda poskusili s tem skriptom Windows? Še kakšno idejo, da bi jo prepleskali in jo še izboljšali? Delite svoje misli in predloge v spodnjem razdelku s komentarji.
Kreditna slika:Binarne kode prek Shutterstocka
Ryan ima diplomo iz elektrotehnike. 13 let je delal v avtomatizacijskem inženiringu, 5 let v IT, zdaj pa je inženir Apps. Nekdanji glavni urednik MakeUseOf je govoril na nacionalnih konferencah o vizualizaciji podatkov in je bil predstavljen na nacionalni televiziji in radiu.