Reklaam
Sel nädalal komistasin ühe huvitava probleemi üle. Paljudes kontorites või töökeskkondades peate võib-olla erinevate võrkudega ühenduse loomiseks oma võrgusätted uuesti määratlema. Näiteks võtavad mõned inimesed oma sülearvuti koju ja neil on spetsiaalselt selle masina jaoks seadistatud staatiline IP. Kuna töövõrk on tavaliselt DHCP, nõuab see, et inimene jätkaks võrguseadete muutmist staatilise IP või automaatse DHCP vahel, sõltuvalt nende asukohast.
Sagedasem probleem on inseneridel või IT-töötajatel, kes peavad sageli looma ühenduse hoone või seadme väikeses võrgus asuvate masinatega. Selle eraldatud võrguga ühenduse loomiseks peate oma võrgusätted muutma staatiliseks IP-ks. Hiljem, kui olete ettevõtte võrguga uuesti ühendust võtnud, naaseb see uuesti DHCP-ga.
Sattusin sellesse olukorda piisavalt sageli ja väsisin võrgukaardile sirvimisest, IP-sätete avamisest ja neid muudatusi tehes otsustasin, et on viimane aeg kokku panna VB skript, mis teeks selle kõik ühes või kahes klõpsud. Kui olete jälginud koos minu programmeerimisartiklitega, siis teate, et ma armastan VB-skripte. Kunagi harjusin sellega
luua valdusse sattunud arvuti Looge Windowsi skripti abil halvatud arvutiSeal on palju lõbusaid nunnusid, mida saate oma sõpradega arvuti abil mängida. Olete ilmselt näinud kõiki neid jubedaid YouTube'i videoid, mida inimesed üksteisele hea hirmu pärast edastavad ... Loe rohkem , ja ka harjunud automatiseerida Microsoft SyncToy Kuidas luua andmete varundamise tööriista rakendusega SyncToy & VB ScriptOleme siin MUO-s katnud palju varunduslahendusi ja kõik need lahendused on suurepärased, kuid kui töötate keskkonnas, mis on ettevaatlik tasuta kolmanda osapoole tarkvarapakettide või ettevõtete suhtes ... Loe rohkem andmete varundamiseks.Seda ülesannet on võimalik täita ka VB-skriptiga ja on isegi võimalik muuta see piisavalt paindlikuks, et see saaks staatilise IP-aadressi kasutaja sisestatud andmeid aktsepteerida. Selles artiklis näitan teile, kuidas seda teha kolmes jaotises.
Võrgusätte loomine Skripti muutmine
Selle väikese rakenduse loomiseks võrgusätete vahetamiseks tuleb skriptiga täita kolm peamist ülesannet. Esimene on skripti kasutamine staatiliste IP-sätete loomiseks. Järgmine on DHCP lubamise skript. Viimane on kasutajalt küsida, millist ülesannet nad soovivad teha, ja seejärel kasutada seda tagasisidet selle täitmiseks.
VB-skript staatiliste IP-sätete määramiseks
Pidage meeles, et Windows-arvutis töötamiseks tuleb järgmised skriptid salvestada tekstifailina .wsf-laiendiga. Järgmine skript muudab teie võrgusätted staatiliseks IP-ks koos konkreetse alamvõrgu maski ja vaikelüüsi vaheseinaga, kusjuures kõik kolm on skriptisse kodeeritud.
Kõigi selles artiklis loetletud koodinäidete korral lisage kindlasti “
Siin on staatiline IP-muutmise skript:
Valik selgesõnaline tõrke korral Jätkake järgmisena Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAdress. Dim arrSubnetMask. Dim arrGateway. Tuhmid colNetAdapterid. Dim errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Array ("192.168.1.106") arrSubnetMask = Massiiv ("255.255.255.0") arrGateway = Array ("192.168.1.1") Määra objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Seadistage colNetAdapters = objWMIService. ExecQuery ("Valige * Win32_NetworkAdapterConfiguration alt, kus IPEnabled = TRUE") * Iga colNetAdaptersis asuva objNetAdapteri jaoks errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Kui pole errEnableStatic = 0, siis WScript. Kaja "IP / alamvõrgu määramise ebaõnnestumine." Lõpeta, kui errGateways = objNetAdapter. SetGateways (arrGateway) Kui Not errGateways = 0, siis WScript. Kaja "Gateway määramise ebaõnnestumine." Lõpeta kui järgmine. WScript. Lõpeta
See skript kasutab sätete muutmise eesmärgi saavutamiseks Windowsis WMI-teenust. Näete kolme fikseeritud massiivi muutujat, mis on laaditud IP-aadressidega, ja seejärel kontrollib skript aktiivset lubatud võrgukaarti. Seejärel kasutab see vajalike muudatuste tegemiseks meetodeid “EnableStatic” ja “SetGateways”. Kui ma käivitan skripti oma koduvõrgus (kus nõuan DHCP-d), näete, kus skript muutis mu adapteri sätteid edukalt ja ma olen kaotanud Interneti-ühenduse.
Olles tõestanud, et skripti staatiline IP-osa töötab, on aeg kirjutada skript, mis seab adapteri DHCP-le, et see tuvastaks automaatselt võrgu IP. Siin on skript, mille abil saate seda teha.
Valik selgesõnaline tõrke korral Jätkake järgmisena Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Määra objWMIService = GetObject ("winmgmts: \\" & strArvuti & "\ root \ cimv2") Seadistage colNetAdapters = objWMIService. ExecQuery ("Valige * Win32_NetworkAdapterConfiguration seast, kus IPEnabled = TRUE") * Iga colNetAdaptersis asuva objNetAdapteri jaoks errEnable = objNetAdapter. LubaDHCP () Järgmine WScript. Lõpeta
Nagu näete, on see skript palju lihtsam. See kasutab ka WMI, kuid ainus nõutav funktsioon on “EnableDHCP”. Seda tehakse praegu lubatud võrguadapteril. Pärast selle skripti salvestamist ja käitamist muutsid mu adapterkaardi sätted tagasi DHCP ja mu Interneti-ühendus töötas uuesti.
Niisiis, nüüd kui teil on kood mõlema olulise toimingu tegemiseks, on selle triki järgmine osa - kasutajalt sisendi saamine, et täpselt kindlaks teha, millist staatilist IP-d nad soovivad. DHCP uuesti lubamiseks peate IP-faili automaatseks tuvastamiseks nõudma, et kasutaja sisestaks sõna „AUTO”.
Nii näeb välja uus, täielik ülalnimetatud skripte sisaldav täielik skript.
Valik selgesõnaline tõrke korral Jätkake järgmisena Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAdress. Dim arrSubnetMask. Dim arrGateway. Tuhmid colNetAdapterid. Dim errEnableStatic. Dim errGateways. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Type Static IP Address or AUTO") Kui strInput = "AUTO" Siis strComputer = "." Määra objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Määra colNetAdapters = objWMIService. ExecQuery ("Valige * Win32_NetworkAdapterConfiguration seast, kus IPEnabled = TRUE") * Iga colNetAdaptersis asuva objNetAdapteri jaoks errEnable = objNetAdapter. EnableDHCP () Kui Not errEnable = 0, siis WScript. Kaja "DHCP seadistamine nurjus." errFailed = 1 Lõpeta kui järgmine. Else strComputer = "." arrIPAddress = Massiiv (strInput) arrSubnetMask = Massiiv ("255.255.255.0") arrGateway = Massiiv ("192.168.1.1") Määra objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Määra colNetAdapters = objWMIService. ExecQuery ("Valige * Win32_NetworkAdapterConfiguration alt, kus IPEnabled = TRUE") * Iga colNetAdaptersis asuva objNetAdapteri jaoks errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Kui pole errEnableStatic = 0, siis WScript. Kaja "IP / alamvõrgu määramise ebaõnnestumine." errFailed = 1 Lõpeta, kui errGateways = objNetAdapter. SetGateways (arrGateway) Kui Not errGateways = 0, siis WScript. Kaja "Gateway määramise ebaõnnestumine." errFailed = 1 End Kui järgmine lõpp Kui If errFailed = 0 Siis WScript. Kaja "IP-sätete edukas muutmine." Lõpeta, kui WScript. Lõpeta
See skript kasutab funktsiooni InputBox, et saada kasutajalt staatiline IP või käsk “AUTO”.
Kui väljale on kirjutatud midagi muud kui “AUTO”, kasutatakse seda staatilise IP-stringina koodiosas, mis kasutab WMI-d võrguadapteri staatiliste IP-sätete seadistamiseks. Kontrollitakse ka kinnituse „0” olemasolu, mis ütleb, et kõik läks korda.
Pärast skripti käivitamist kontrollides oma võrgukaardi sätteid, kinnitasin, et skript muutis staatilisi IP-sätteid.
Nüüd testige skripti AUTO. Tippides AUTO, on esimene tingimus täidetud juhul, kui “IF” -teatises kontrollitakse AUTO-d. See käivitab alternatiivse skripti, mis lubab DHCP.
Pärast selle käivitamist uurisin oma adapteri sätteid ja olin kindel, et see seati tagasi IP-aadressi automaatselt hankimisele.
Ehkki see võib olla piisavalt lihtne ülesanne, kui lähete oma võrgukaardi sätetesse ja vahetate staatilise või DHCP-i, kui seda peate sageli tegema, võib see muutuda tõeliseks valu. Saate seda teha käsurealt, kasutades „netsh”, kuid jällegi peate meeles pidama käsu süntaksi.
Ülaltoodud skripti kasutamine võimaldab teil luua kiire ja hõlpsa utiliidi, mida saate igal ajal kasutada oma võrgusätete vahetamiseks.
Kas arvate, et võiksite proovida seda Windowsi skripti? Kas teil on muid ideid selle näppimiseks ja veelgi paremaks muutmiseks? Jagage oma mõtteid ja ettepanekuid allpool olevas kommentaaride jaotises.
Kujutise krediit:Binaarsed koodid Shutterstocki kaudu
Ryanil on bakalaureuse kraad elektrotehnika alal. Ta on töötanud 13 aastat automatiseerimise alal, 5 aastat IT alal ja on nüüd rakenduste insener. MakeUseOfi endine tegevtoimetaja, ta on rääkinud andmete visualiseerimise riiklikel konverentsidel ja teda on kajastatud üleriigilises televisioonis ja raadios.