Hirdetés
Ezen a héten egy érdekes problémára találkoztam. Számos irodában vagy munkakörnyezetben előfordulhat, hogy újra kell definiálnia a hálózati beállításokat a különböző hálózatokhoz való kapcsolódáshoz. Például néhány ember hazaviszi laptopját, és statikus IP-jét kifejezetten ehhez a géphez állítja be. Mivel azonban a munkahálózat általában DHCP, ehhez a személynek folyamatosan meg kell változtatnia a hálózati beállításokat statikus IP vagy automatikus DHCP között, attól függően, hogy hol vannak.
Gyakoribb probléma a mérnökök vagy az informatikai személyzet számára, akiknek gyakran csatlakozniuk kell az épületek egy kis hálózatán lévő eszközökhöz vagy gépekhez. Az izolált hálózathoz való csatlakozáshoz meg kell változtatnia a hálózati beállításokat statikus IP-re. Később, amikor újra csatlakozik a vállalati hálózathoz, visszatér a DHCP-hez.
Elég gyakran találtam magam ebben a helyzetben és belefáradtam a hálózati kártyára böngészéshez, az IP-beállítások megnyitásához és ezeket a szerkesztéseket elvégezve úgy döntöttem, hogy itt az ideje, hogy összeállítsunk egy VB szkriptet, amely mindezt egy-kettőben meg fogja tenni. kattintással. Ha követték a programozási cikkeimet, akkor tudod, hogy szeretem a VB szkripteket. Egyszer hozzászoktam
hozzon létre egy birtokolt számítógépet Készítsen egy őrült birtoklású számítógépet a Windows szkriptjével a Halloween számáraNagyon sok szórakoztató csíny van, amelyet számítógépeden játszhat barátaival. Valószínűleg látta már ezeket a hátborzongató YouTube-videókat, amelyeket az emberek jó megijesztés céljából továbbítanak egymáshoz ... Olvass tovább , és hozzászokott automatizálja a Microsoft SyncToy alkalmazást Adatmentő eszköz létrehozása a SyncToy & VB parancsfájl segítségévelNagyon sok biztonsági mentési megoldást fedeztünk itt a MUO-nál, és ezek a megoldások nagyszerűek, de ha olyan környezetben dolgozik, amelyben óvatos az ingyenes harmadik féltől származó szoftvercsomagok, vagy a vállalatok számára ... Olvass tovább adatmentésekhez.Ez a feladat a VB szkripttel is elvégezhető, sőt azt is elég rugalmassá teheti, hogy képes legyen elfogadni a felhasználó által megadott statikus IP-címet. Ebben a cikkben három részben megmutatom, hogyan kell csinálni.
Hálózati beállítás létrehozása Change Script
Három fő feladat van, amelyeket a szkripttel végre kell hajtania ahhoz, hogy elkészítse ezt a kis alkalmazást a hálózati beállítások váltására. Az első az, hogy a parancsfájlt használják statikus IP-beállítások létrehozására. A következő az, hogy előállít egy szkriptet a DHCP engedélyezéséhez. Végül az utolsó az, hogy megkérdezzük a felhasználót, hogy melyik feladatot akarjuk elvégezni, majd ezt a visszajelzést használjuk annak végrehajtásához.
VB parancsfájl a statikus IP-beállítások megadásához
Ne feledje, hogy a következő szkripteket .wsf kiterjesztéssel rendelkező szöveges fájlként kell menteni, hogy a Windows PC-n működhessenek. A következő szkript statikus IP-re változtatja meg a hálózati beállításokat egy meghatározott alhálózati maszkkal és az alapértelmezett átjáróval, mindhárom kemény kódolással a szkriptbe.
A cikkben felsorolt összes kódminta esetén feltétlenül adjon hozzá „
Itt van a statikus IP-változási szkript:
Opció kifejezett Hiba után Folytatás Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPCím. Dim arrSubnetMask. Dim arrGateway. Dim colNetAdapters. Dim errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Array ("192.168.1.106") arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Állítsa be az objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Állítsa be a colNetAdapters = objWMIService beállítást. ExecQuery ("Válassza a * lehetőséget a Win32_NetworkAdapterConfiguration közül, ahol IPEnabled = TRUE") az egyes objNetAdapter-ekhez a colNetAdapters-ben: errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Ha nem errEnableStatic = 0, akkor a WScript. Visszhang "Hiba az IP / alhálózat hozzárendelésekor." Vége, ha errGateways = objNetAdapter. SetGateways (arrGateway) Ha Not errGateways = 0, akkor WScript. Echo "Hiba az átjáró hozzárendelésekor." Vége, ha a következő. WScript. Kilépés
Ez a szkript a Windows Windows WMI szolgáltatását használja a beállítások megváltoztatásának céljának eléréséhez. Láthatja a három rögzített tömb változót, feltöltve az IP-címekkel, majd azt, ahol a szkript ellenőrzi az aktív „engedélyezett” hálózati kártyát. Ezután az „EnableStatic” és a „SetGateways” módszereket használja a szükséges módosítások elvégzésére. Amikor a parancsfájlt futtatom az otthoni hálózaton (ahol DHCP-t kell megkövetelni), láthatja, hogy a parancsfájl sikeresen megváltoztatta az adapter beállításait, és elvesztettem az internetkapcsolatomat.
Miután bebizonyította, hogy a szkript statikus IP része működik, ideje írni azt a szkriptet, amely az adaptert DHCP-re állítja, így automatikusan felismeri a hálózati IP-t. Ez a szkript, amelyet erre felhasználhat.
Opció kifejezett Hiba után Folytatás Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Állítsa be a colNetAdapters = objWMIService beállítást. ExecQuery ("Válassza a * lehetőséget a Win32_NetworkAdapterConfiguration fájlból, ahol IPEnabled = TRUE") A colNetAdapters minden objNetAdapteréhez errEnable = objNetAdapter. EnableDhcp () Következő WScript. Kilépés
Mint láthatja, ez a szkript sokkal egyszerűbb. WMI-t is használ, de az egyetlen szükséges funkció az „EnableDHCP”. Ezt a jelenleg engedélyezett hálózati adapteren hajtják végre. A szkript mentése és futtatása után az adapterkártya-beállítások visszaváltottak DHCP-re, és internetkapcsolatom ismét működött.
Tehát most, hogy megvan a kód mind a két fontos művelet végrehajtásához, ennek a trükknek a következő része az lesz, hogy a felhasználótól beérkezzenek, hogy pontosan meghatározzák, milyen statikus IP-t akarnak. A DHCP újbóli engedélyezéséhez megkövetelheti a felhasználótól, hogy írja be az „AUTO” szót az IP automatikus felismeréséhez.
Így néz ki ez az új, teljes szkript, amely magában foglalja a fenti két szkriptet.
Opció kifejezett Hiba után Folytatás Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPCím. Dim arrSubnetMask. Dim arrGateway. Dim colNetAdapters. Dim errEnableStatic. Dim errGateways. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Statikus IP cím vagy AUTO típus") Ha strInput = "AUTO", akkor strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Állítsa be a colNetAdapters = objWMIService. ExecQuery ("Válassza a * lehetőséget a Win32_NetworkAdapterConfiguration fájlból, ahol IPEnabled = TRUE") A colNetAdapters minden objNetAdapteréhez errEnable = objNetAdapter. EnableDHCP () Ha Not errEnable = 0, akkor WScript. Visszhang: "A DHCP beállítása sikertelen." errFailed = 1 Vége, ha a következő. Else strComputer = "." arrIPAddress = tömb (strInput) arrSubnetMask = tömb ("255.255.255.0") arrGateway = Array ("192.168.1.1") Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Válassza a * lehetőséget a Win32_NetworkAdapterConfiguration közül, ahol IPEnabled = TRUE") az egyes objNetAdapter-ekhez a colNetAdapters-ben: errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Ha nem errEnableStatic = 0, akkor a WScript. Visszhang "Hiba az IP / alhálózat hozzárendelésekor." errFailed = 1 Vége, ha errGateways = objNetAdapter. SetGateways (arrGateway) Ha Not errGateways = 0, akkor WScript. Echo "Hiba az átjáró hozzárendelésekor." errFailed = 1 Vége, ha Következő Vége, ha Ha errFailed = 0, akkor WScript. Echo "Az IP-beállítások sikeresen módosítva." Befejezés, ha a WScript. Kilépés
Ez a szkript az InputBox funkciót használja a statikus IP vagy az „AUTO” parancs megszerzéséhez a felhasználótól.
Ha az „AUTO” kivételével valami más be van írva a mezőbe, akkor statikus IP-karakterláncként fogja használni azt a kódrészletet, amely a WMI-t használja a hálózati adapter statikus IP-beállításainak beállításához. Ellenőrizzük a „0” megerősítést is, miszerint minden rendben van.
A szkript futtatása után ellenőrizve a hálózati kártya beállításait, megerősítettem, hogy a szkript valóban megváltoztatta a statikus IP beállítást.
Most tesztelje az AUTO szkriptet. Az AUTO gépelés teljesíti az első feltételt az „IF” utasításban, amikor ellenőrzi az AUTO-t. Ez futtatja a DHCP-t engedélyező alternatív szkriptet.
A futtatás után bementem az adapterbeállításokba, és eléggé biztosan visszaállítottam az automatikus IP-cím beszerzése beállítást.
Annak ellenére, hogy elég egyszerű feladat, ha átvált a hálózati kártya beállításaira, és átvált statikus vagy DHCP értékre, ha igen gyakran kell tennie, akkor valódi fájdalom lehet. Meg lehet csinálni egy parancssorból a “netsh” használatával, de meg kell emlékezni még a parancs szintaxisára.
A fenti szkript használata lehetővé teszi egy gyors és egyszerű segédprogram létrehozását, amely bármikor felhasználható a hálózati beállítások menet közbeni váltására.
Gondolod, hogy kipróbálhatod ezt a Windows szkriptet? Van bármilyen ötlete, hogy módosítsa és még jobbá tegye? Ossza meg gondolatait és javaslatait az alábbi megjegyzés szakaszban.
Kép jóváírás:Bináris kódok a Shutterstock-on keresztül
Ryan BSc villamosmérnöki diplomával rendelkezik. 13 évet dolgozott az automatizálás területén, 5 évet az informatika területén, és most Apps Engineer. A MakeUseOf volt vezérigazgatója, az adatmegjelenítéssel foglalkozó nemzeti konferenciákon beszélt, és szerepelt a nemzeti televízióban és rádióban.