Reklama
Tento týždeň som narazil na zaujímavý problém. V mnohých kanceláriách alebo pracovných prostrediach bude možno potrebné predefinovať nastavenia siete, aby ste sa mohli pripojiť k rôznym sieťam. Niektorí ľudia si napríklad berú so sebou laptop a majú pre tento počítač nastavenú statickú IP adresu. Keďže však pracovnou sieťou je zvyčajne DHCP, vyžaduje sa od osoby, aby v závislosti od toho, kde sa práve nachádzajú, zmenila nastavenia siete medzi statickou IP alebo automatickou DHCP.
Častejším problémom sú technici alebo pracovníci IT, ktorí sa často potrebujú pripájať k zariadeniam alebo strojom v malej sieti v budove. Ak sa chcete pripojiť k tejto izolovanej sieti, musíte zmeniť nastavenia siete na statickú IP. Neskôr, keď sa znova pripojíte k podnikovej sieti, opäť sa vráti na server DHCP.
V tejto situácii som sa ocitol dosť často a bol som unavený prehliadaním sieťovej karty a otváraním nastavení IP a urobil tie úpravy, že som sa rozhodol, že je najvyšší čas dať dohromady skript VB, ktorý by to všetko urobil v jednom alebo dvoch kliknutie. Ak ste postupovali spolu s mojimi programovacími článkami, potom viete, že milujem skripty VB. Kedysi som to použil
vytvoriť posadnutý počítač Vytvorte Freaky posadnutý počítač pomocou skriptu Windows pre HalloweenExistuje veľa zábavných žartov, ktoré môžete hrať s priateľmi na počítači. Pravdepodobne ste už videli všetky tie strašidelné videá z YouTube, ktoré si ľudia navzájom veľmi dobre vystrašujú ... Čítaj viac , a tiež zvyknutý automatizovať Microsoft SyncToy Ako vytvoriť nástroj na zálohovanie dát pomocou SyncToy a VB ScriptNa MUO sme pokryli veľa záložných riešení a všetky tieto riešenia sú skvelé, ale ak pracujete v prostredí, ktoré sa obáva bezplatných softvérových balíkov tretích strán alebo spoločností ... Čítaj viac pre zálohovanie dát.Túto úlohu je možné vykonať aj pomocou skriptu VB a je dokonca možné ju dostatočne flexibilne prispôsobiť, aby mohla akceptovať vstup používateľa pre statickú adresu IP. V tomto článku vám ukážem, ako to urobiť, v troch sekciách.
Vytvorenie skriptu na zmenu nastavenia siete
Ak chcete vytvoriť túto malú aplikáciu na prepínanie nastavení siete, musíte pomocou skriptu vykonať tri hlavné úlohy. Prvým je použitie skriptu na vytvorenie statických nastavení IP. Ďalším krokom je prísť so skriptom, ktorý umožní DHCP. Nakoniec posledným je opýtať sa používateľa, akú úlohu chcú urobiť, a potom túto spätnú väzbu použiť na splnenie tejto úlohy.
Skript VB na nastavenie statických nastavení IP
Nezabudnite, že nasledujúce skripty je potrebné uložiť ako textový súbor s príponou .wsf, aby ste mohli pracovať na počítači so systémom Windows. Nasledujúci skript zmení vaše sieťové nastavenia na statickú IP so špecifickou maskou podsiete a predvolenou bránou, pričom všetky tri sú pevne zakódované do skriptu.
Pre všetky vzorky uvedené v tomto článku nezabudnite pridať „
Tu je skript statickej zmeny IP:
Možnosť Explicit On Error Resume Next Dim objWMIService. Dim objNetAdapter. Dim strPočítač. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Dim colNet Adapters. 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") Nastaviť colNetAdapters = objWMIService. ExecQuery ("Vyberte * z Win32_NetworkAdapterConfiguration kde IPEnabled = TRUE") Pre každý objNetAdapter v colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) If Not errEnableStatic = 0 Potom WScript. Echo „Zlyhanie priraďovania IP / podsiete“. End If errGateways = objNetAdapter. SetGateways (arrGateway) If Not errGateways = 0 Potom WScript. Echo „Zlyhanie priraďovania brány“. Koniec, ak bude nasledovať. WScript. prestať
Tento skript používa službu Windows WMI v systéme Windows na dosiahnutie cieľa zmeny nastavení. Môžete vidieť tri premenné pevných polí načítané pomocou IP adries a potom, kde skript vyhľadáva aktívnu „povolenú“ sieťovú kartu. Potom použije metódy „EnableStatic“ a „SetGateways“ na vykonanie týchto požadovaných zmien. Keď spustím skript v domácej sieti (kde vyžadujem DHCP), uvidíte, kde skript úspešne zmenil nastavenia adaptéra a stratil som pripojenie na internet.
Po dokázaní, že časť skriptu statická IP funguje, je čas napísať skript, ktorý nastaví adaptér na DHCP, aby automaticky zistil sieťovú IP. Tu je skript, ktorý na to môžete použiť.
Možnosť Explicit On Error Resume Next Dim objWMIService. Dim objNetAdapter. Dim strPočítač. Dim errEnable strComputer = "." Nastaviť objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nastaviť colNetAdapters = objWMIService. ExecQuery ("Vyberte * z Win32_NetworkAdapterConfiguration kde IPEnabled = TRUE") Pre každý objNetAdapter v colNetAdapters errEnable = objNetAdapter. EnableDhcp () Ďalší WScript. prestať
Ako vidíte, tento skript je oveľa jednoduchší. Používa tiež WMI, ale jediná požadovaná funkcia je „EnableDHCP“. Toto sa vykonáva na aktuálne povolenom sieťovom adaptéri. Po uložení a spustení tohto skriptu sa moje nastavenia karty adaptéra zmenili späť na DHCP a moje pripojenie na internet znova fungovalo.
Teraz, keď už máte kód na vykonanie obidvoch dôležitých akcií, ďalšou časťou tohto triku bude od používateľa vstup, aby presne určil, akú statickú IP chcú. Ak chcete znova povoliť DHCP, môžete od používateľa vyžadovať, aby zadal slovo „AUTO“, aby automaticky zistil IP.
Ako vyzerá tento nový úplný skript obsahujúci dva vyššie uvedené skripty.
Možnosť Explicit On Error Resume Next Dim objWMIService. Dim objNetAdapter. Dim strPočítač. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Dim colNet Adapters. Dim errEnableStatic. Dim errGateways. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Typ statickej adresy IP alebo AUTO") Ak strInput = "AUTO", potom strComputer = "." Nastaviť objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nastaviť colNetAdapters = objWMIService. ExecQuery ("Vyberte * z Win32_NetworkAdapterConfiguration kde IPEnabled = TRUE") Pre každý objNetAdapter v colNetAdapters errEnable = objNetAdapter. EnableDHCP () If Not errEnable = 0 Then WScript. Echo „Nastavenie DHCP zlyhalo.“ errFailed = 1 End If Next. Inak 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 ("Vyberte * z Win32_NetworkAdapterConfiguration kde IPEnabled = TRUE") Pre každý objNetAdapter v colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) If Not errEnableStatic = 0 Potom WScript. Echo „Zlyhanie priraďovania IP / podsiete“. errFailed = 1 End If errGateways = objNetAdapter. SetGateways (arrGateway) If Not errGateways = 0 Potom WScript. Echo „Zlyhanie priraďovania brány“. errFailed = 1 End If Next End If If errFailed = 0 Then WScript. Echo „Nastavenia IP boli úspešne zmenené.“ Koniec If WScript. prestať
Tento skript používa funkciu InputBox na získanie statickej IP alebo príkazu „AUTO“ od používateľa.
Ak je do poľa zadané niečo iné ako „AUTO“, použije sa ako statický reťazec IP v časti kódu, ktorá používa WMI na nastavenie statických IP nastavení sieťového adaptéra. K dispozícii je tiež kontrola na „0“ potvrdenie, že všetko šlo dobre.

Po spustení skriptu som skontroloval nastavenia sieťovej karty a potvrdil som, že skript skutočne zmenil nastavenie statickej adresy IP.
Teraz otestujte skript AUTO. Písanie AUTO spĺňa prvú podmienku vo výpise „IF“, ktorá kontroluje AUTO. Spustí sa alternatívny skript, ktorý umožňuje DHCP.

Po spustení som prešiel do nastavení adaptéra a bol som si istý, že bol nastavený na možnosť Získať adresu IP automaticky.
Aj keď to môže byť dosť jednoduché, ísť do nastavení sieťovej karty a zmeniť statické alebo DHCP, ak to musíte urobiť naozaj často, môže sa stať skutočnou bolesťou. Môžete to urobiť z príkazového riadku pomocou „netsh“, ale znova si musíte pamätať syntax príkazu.
Pomocou vyššie uvedeného skriptu môžete vytvoriť rýchly a ľahký obslužný program, ktorý môžete kedykoľvek použiť na prepínanie sieťových nastavení.
Myslíte si, že by ste mohli vyskúšať tento skript systému Windows? Máte nejaké ďalšie nápady, ako to vylepšiť a vylepšiť? Podeľte sa o svoje myšlienky a návrhy v sekcii komentárov nižšie.
Obrázok Kredit:Binárne kódy cez Shutterstock
Ryan má titul bakalára v odbore elektrotechnika. Pracoval 13 rokov v automatizačnom inžinierstve, 5 rokov v IT a teraz je aplikačným inžinierom. Bývalý šéfredaktor MakeUseOf, vystúpil na národných konferenciách o vizualizácii údajov a vystupoval v celoštátnych televíziách a rozhlase.