Skelbimas
Šią savaitę užkliūvau prie įdomios problemos. Daugelyje biurų ar darbo aplinkoje gali prireikti iš naujo apibrėžti tinklo parametrus, kad galėtumėte prisijungti prie skirtingų tinklų. Pavyzdžiui, kai kurie žmonės nešiojamąjį kompiuterį nešiojasi su savimi namo ir turi statinį IP, nustatytą specialiai tam kompiuteriui. Kadangi darbo tinklas paprastai yra DHCP, tai reikalauja, kad asmuo nuolat keistų tinklo parametrus tarp statinio IP arba automatinio DHCP, atsižvelgiant į tai, kur jie yra.
Dažniau pasitaikanti problema yra inžinieriams ar IT darbuotojams, kuriems dažnai reikia prisijungti prie įrenginių ar mašinų mažame pastato tinkle. Norėdami prisijungti prie to izoliuoto tinklo, turite pakeisti tinklo nustatymus į statinį IP. Vėliau, kai vėl prisijungsite prie įmonės tinklo, jis vėl grįš į DHCP.
Šioje situacijoje atsidūriau pakankamai dažnai ir taip pavargau naršyti prie tinklo plokštės, atidaryti IP nustatymus ir taisydamas tuos pakeitimus nusprendžiau, kad pats laikas sudėti VB scenarijų, kuris padarytų viską vienu ar dviem paspaudimų. Jei sekėte kartu su mano programavimo straipsniais, tada žinote, kad man patinka VB scenarijai. Aš kažkada tai pripratau
sukurti turimą kompiuterį Sukurkite beprotišką kompiuterį, naudodami „Windows“ scenarijų, skirtą HelovinuiYra daugybė linksmų keiksmažodžių, kuriuos galite žaisti su draugais naudodami kompiuterį. Tikriausiai matėte visus tuos beprotiškus „YouTube“ vaizdo įrašus, kuriuos žmonės perduoda vieni kitiems už gerą gąsdinimą ... Skaityti daugiau , ir taip pat įpratę automatizuoti „Microsoft SyncToy“ Kaip sukurti duomenų atsarginės kopijos įrankį naudojant "SyncToy" ir "VB Script"Pateikėme daugybę atsarginių sprendimų čia, MUO, ir visi šie sprendimai yra puikūs, tačiau jei dirbate tokioje aplinkoje, kurioje nerimaujate dėl nemokamų trečiųjų šalių programinės įrangos paketų, ar įmonės ... Skaityti daugiau duomenų atsarginėms kopijoms.Šią užduotį taip pat įmanoma atlikti naudojant VB scenarijų ir netgi įmanoma, kad ji būtų pakankamai lanksti, kad ji galėtų priimti vartotojo įvestą statinį IP adresą. Šiame straipsnyje aš jums parodysiu, kaip tai padaryti, trijose dalyse.
Tinklo parametrų kūrimas Pakeiskite scenarijų
Yra trys pagrindinės užduotys, kurias turite atlikti naudodami scenarijų, kad sukurtumėte šią mažą programą tinklo nustatymams perjungti. Pirmasis yra naudoti scenarijų statiniams IP parametrams sukurti. Kitas būdas yra sugalvoti scenarijų, įgalinantį DHCP. Galiausiai paskutinis dalykas yra paklausti vartotojo, kurią užduotį jis nori atlikti, o tada naudoti šį atsiliepimą, kad jį atliktų.
VB scenarijus, skirtas nustatyti statinius IP parametrus
Atminkite, kad šiuos scenarijus reikia išsaugoti kaip teksto failą su .wsf plėtiniu, kad jie veiktų „Windows“ kompiuteryje. Šis scenarijus pakeis jūsų tinklo parametrus į statinį IP su konkrečia potinklio kauke ir numatytąja vartų siena su visais trimis scenarijaus kodais.
Prie visų šiame straipsnyje išvardytų kodų pavyzdžių būtinai pridėkite „
Štai statinis IP pakeitimo scenarijus:
Parinktis aiškiai nustatyta dėl klaidos Tęsti „Dim objWMIService“. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Sumažinti „colNetAdapters“. Dim errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Masyvas („192.168.1.106“) arrSubnetMask = Masyvas („255.255.255.0“) arrGateway = Masyvas ("192.168.1.1") Nustatyti objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nustatykite „colNetAdapters“ = „objWMIService“. „ExecQuery“ („Pasirinkite * iš Win32_NetworkAdapterConfiguration, kur IPEnabled = TRUE“). Kiekvienam „objNetAdapter“, esančiam „colNetAdapters“, errEnableStatic = objNetAdapter. „EnableStatic“ (arrIPAddress, arrSubnetMask) Jei ne errEnableStatic = 0 Tada „WScript“. Aidas "Nepavyko priskirti IP / potinklio". Pabaiga, jei „errGateways“ = objNetAdapter. „SetGateways“ (arrGateway), jei ne „errGateways“ = 0, tada „WScript“. Aidas "Nepavyko priskirti vartai". Pabaiga, jei toliau. WScript. Mesti
Šis scenarijus naudoja „Windows“ WMI paslaugą sistemoje „Windows“, kad būtų pakeistas nustatymas. Galite pamatyti tris fiksuoto masyvo kintamuosius, įkeltus su IP adresais, ir ten, kur scenarijus tikrina aktyvią „įjungtą“ tinklo plokštę. Tuomet reikiamiems pakeitimams atlikti naudoja „EnableStatic“ ir „SetGateways“ metodus. Vykdydamas scenarijų savo namų tinkle (kur man reikalingas DHCP), galite pamatyti, kur scenarijus sėkmingai pakeitė mano adapterio nustatymus ir aš praradau interneto ryšį.
Įrodžius, kad statinė IP scenarijaus dalis veikia, laikas parašyti scenarijų, kuris nustatys adapterį į DHCP, kad jis automatiškai aptiktų tinklo IP. Štai scenarijus, kurį galite naudoti tai darydami.
Parinktis aiškiai nustatyta dėl klaidos Tęsti „Dim objWMIService“. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Nustatyti objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nustatykite „colNetAdapters“ = „objWMIService“. „ExecQuery“ („Pasirinkite * iš Win32_NetworkAdapterConfiguration, kur IPEnabled = TRUE“). Kiekvienam „obNNetAdapter“, esančiam „colNetAdapters“, errEnable = objNetAdapter. ĮgalintiDHCP () Kitas „WScript“. Mesti
Kaip matote, šis scenarijus yra daug paprastesnis. Jis taip pat naudoja WMI, tačiau vienintelė reikalinga funkcija yra „EnableDHCP“. Tai atliekama naudojant šiuo metu įgalintą tinklo adapterį. Išsaugojus ir paleidus šį scenarijų, mano adapterio kortelės nustatymai vėl pasikeitė į DHCP, o mano interneto ryšys vėl veikė.
Taigi, kai jau turite kodą, kad atliktumėte abu svarbius veiksmus, kita šio triuko dalis bus vartotojo įvestis, kad būtų galima tiksliai nustatyti, kokio statinio IP jie nori. Norėdami vėl įjungti DHCP, galite paprašyti vartotojo įvesti žodį „AUTO“, kad jis automatiškai aptiktų IP.
Štai kaip atrodo šis naujas, visas scenarijus, apimantis du aukščiau pateiktus scenarijus.
Parinktis aiškiai nustatyta dėl klaidos Tęsti „Dim objWMIService“. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Sumažinti „colNetAdapters“. Dim errEnableStatic. Dim errGateways. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox („Įveskite statinį IP adresą arba AUTO“) Jei strInput = „AUTO“, tada strComputer = "." Nustatyti objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nustatyti colNetAdapters = „objWMIService“. „ExecQuery“ („Pasirinkite * iš Win32_NetworkAdapterConfiguration, kur IPEnabled = TRUE“). Kiekvienam „obNNetAdapter“, esančiam „colNetAdapters“, errEnable = objNetAdapter. „EnableDHCP“ () Jei ne errEnable = 0 Tada „WScript“. Aidas "Nepavyko nustatyti DHCP." errFailed = 1 Pabaiga, jei toliau. Kitas strComputer = "." arrIPAddress = Masyvas (strInput) arrSubnetMask = Masyvas ("255.255.255.0") arrGateway = Masyvas ("192.168.1.1") Nustatyti objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nustatyti colNetAdapters = „objWMIService“. „ExecQuery“ („Pasirinkite * iš Win32_NetworkAdapterConfiguration, kur IPEnabled = TRUE“). Kiekvienam „objNetAdapter“, esančiam „colNetAdapters“, errEnableStatic = objNetAdapter. „EnableStatic“ (arrIPAddress, arrSubnetMask) Jei ne errEnableStatic = 0 Tada „WScript“. Aidas "Nepavyko priskirti IP / potinklio". errFailed = 1 pabaiga, jei errGateways = objNetAdapter. „SetGateways“ (arrGateway), jei ne „errGateways“ = 0, tada „WScript“. Aidas "Nepavyko priskirti vartai". errFailed = 1 pabaiga, jei kitas pabaiga, jei jei errFailed = 0, tada „WScript“. Echo "IP nustatymai sėkmingai modifikuoti". Pabaiga Jei „WScript“. Mesti
Šis scenarijus naudoja „InputBox“ funkciją, kad vartotojas gautų statinį IP arba „AUTO“ komandą.
Jei lauke įrašoma kas kita, nei „AUTO“, tai bus naudojama kaip statinė IP eilutė kodo skiltyje, kurioje WMI naudojamas nustatyti tinklo adapterio statinius IP parametrus. Taip pat reikia patikrinti „0“ patvirtinimą, kad viskas gerai.
Patikrinę tinklo plokštės parametrus, paleidę scenarijų, patvirtinau, kad scenarijus iš tikrųjų pakeitė statinį IP nustatymą.
Dabar išbandykite scenarijų „AUTO“. Įvedus AUTO, pirmoji sąlyga tenkinama, jei „IF“ sakinyje tikrinama, ar nėra automatinio. Tai paleidžia alternatyvų scenarijų, įgalinantį DHCP.
Vykdydamas tai, aš nuėjau į savo adapterio nustatymus ir pakankamai įsitikinau, kad jis vėl buvo nustatytas automatiškai gauti IP adresą.
Nors tai gali būti pakankamai paprasta užduotis, įeiti į savo tinklo plokštės nustatymus ir pakeisti į statinę arba DHCP, jei tai turite padaryti tikrai dažnai, tai gali tapti tikru skausmu. Tai galite padaryti iš komandos eilutės naudodami „netsh“, bet vėlgi, jūs turite atsiminti komandos sintaksę.
Naudodami aukščiau pateiktą scenarijų, galite sukurti greitą ir lengvą naudingumo įrankį, kurį galėsite bet kada naudoti tinklo nustatymams perjungti.
Manote, kad galite išbandyti šį „Windows“ scenarijų? Ar yra kokių nors kitų idėjų, kaip tai patobulinti ir padaryti dar geresnį? Pasidalykite savo mintimis ir pasiūlymais žemiau esančiame komentarų skyriuje.
Vaizdo kreditas:Dvejetainiai kodai per „Shutterstock“
Ryanas turi elektros inžinerijos bakalauro laipsnį. Jis 13 metų dirbo automatikos inžinerijoje, 5 metus IT srityje, o dabar yra programų inžinierius. Buvęs „MakeUseOf“ generalinis redaktorius, jis kalbėjo nacionalinėse duomenų vizualizacijos konferencijose ir buvo rodomas per nacionalinę televiziją ir radiją.