Reklama

zmeniť skript nastavenia sieteTento 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

instagram viewer
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ť „ na konci, inak sa kód nespustí.
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.
Ako napísať skript systému Windows, aby ste mohli zmeniť nastavenia siete za chodu autodhcp1
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.
zmeniť skript nastavenia siete
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.
zmeniť skript nastavenia siete

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.

skript na zmenu nastavení siete

Po spustení skriptu som skontroloval nastavenia sieťovej karty a potvrdil som, že skript skutočne zmenil nastavenie statickej adresy IP.
skript na zmenu nastavení siete
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.

skript na zmenu nastavení siete

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.
skript na zmenu siete
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.