Reklame

ændre netværksindstillinger scriptDenne uge snublede jeg over et interessant problem. I mange kontorer eller arbejdsmiljøer skal du muligvis omdefinere dine netværksindstillinger for at oprette forbindelse til forskellige netværk. For eksempel tager nogle mennesker deres bærbare computer med sig hjem og har en statisk IP oprettet specifikt til den maskine. Da arbejdsnetværket normalt er DHCP, kræver det imidlertid, at personen fortsætter med at ændre netværksindstillingerne mellem en statisk IP eller automatisk DHCP, afhængigt af hvor de er.

Et mere almindeligt problem er for ingeniører eller it-medarbejdere, der ofte har brug for at oprette forbindelse til enheder eller maskiner på et lille netværk i en bygning. For at oprette forbindelse til det isolerede netværk skal du ændre dine netværksindstillinger til en statisk IP. Senere, når du igen opretter forbindelse til virksomhedsnetværket, er det tilbage til DHCP igen.

Jeg befandt mig ofte i denne situation og blev så træt af at gennemsøge netværkskortet og åbne IP-indstillingerne og foretage disse redigeringer, at jeg besluttede, at det var på høje tid at sammensætte et VB-script, der ville gøre det hele i en eller to klik. Hvis du har fulgt mine programmeringsartikler, ved du, at jeg elsker VB-scripts. Jeg har engang brugt det til

instagram viewer
oprette en besat computer Opret en freaky besat computer med Windows-script til HalloweenDer er en masse sjove pranks, du kan spille på dine venner med en computer. Du har sandsynligvis set alle disse uhyggelige YouTube-videoer, som folk videresender til hinanden for en god skræmme ... Læs mere , og også vant til automatisere Microsoft SyncToy Sådan opretter du et data-sikkerhedskopieringsværktøj med SyncToy & VB-scriptVi har dækket en masse backup-løsninger her hos MUO, og alle disse løsninger er fremragende, men hvis du arbejder i et miljø, der er opmærksom på gratis tredjeparts softwarepakker, eller virksomheder ... Læs mere til sikkerhedskopiering af data.

Det er også muligt at udføre denne opgave med VB-script, og det er endda muligt at gøre den fleksibel nok, så den kan acceptere brugerinput til den statiske IP-adresse. I denne artikel viser jeg dig, hvordan du gør det i tre sektioner.

Oprettelse af et netværksindstillinger Skift script

Der er tre hovedopgaver, du skal udføre med scriptet for at oprette denne lille app til at skifte netværksindstillinger. Den første er at bruge scriptet til at oprette statiske IP-indstillinger. Det næste er at komme med et script for at aktivere DHCP. Til sidst er det sidste at spørge brugeren, hvilken opgave de vil udføre, og derefter bruge denne feedback til at udføre den.

VB-script til at indstille statiske IP-indstillinger

Husk, at følgende scripts skal gemmes som en tekstfil med en .wsf-udvidelse for at arbejde på en Windows-pc. Følgende script ændrer dine netværksindstillinger til en statisk IP med en bestemt undernetmaske og standard gatewall, med alle tre hårde kodede i scriptet.

For alle kodeprøver, der er anført i denne artikel, skal du sørge for at tilføje " i slutningen, ellers kører ikke koden.
Her er det statiske IP-ændringsskript:

Mulighed eksplicit ved fejl Genoptag næste Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. 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") Indstil objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Indstil colNetAdapters = objWMIService. ExecQuery ("Vælg * fra Win32_NetworkAdapterConfiguration hvor IPEnabled = TRUE") For hver objNetAdapter i colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Hvis ikke errEnableStatic = 0 Derefter WScript. Echo "Fejl ved tildeling af IP / Subnet." Slut Hvis errGateways = objNetAdapter. SetGateways (arrGateway) Hvis ikke errGateways = 0 Derefter WScript. Echo "Fejl ved tildeling af Gateway." Slut hvis næste. WScript. Afslut

Dette script bruger Windows WMI-tjenesten i Windows til at nå målet om at ændre indstillinger. Du kan se de tre faste array-variabler, der er indlæst med IP-adresserne, og derefter hvor scriptet tjekker for det aktive “aktiverede” netværkskort. Derefter bruger den metoden "EnableStatic" og "SetGateways" til at foretage de nødvendige ændringer. Når jeg kører scriptet på mit hjemmenetværk (hvor jeg kræver DHCP), kan du se, hvor scriptet har ændret mine adapterindstillinger, og jeg har mistet min internetforbindelse.
Sådan skriver du et Windows-script for at ændre netværksindstillinger på Fly autodhcp1
Efter at have bevist, at den statiske IP-del af scriptet fungerer, er det tid til at skrive scriptet, der indstiller adapteren til DHCP, så det automatisk registrerer netværks-IP. Her er det script, som du kan bruge til at gøre det.

Mulighed eksplicit ved fejl Genoptag næste Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Indstil objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Indstil colNetAdapters = objWMIService. ExecQuery ("Vælg * fra Win32_NetworkAdapterConfiguration hvor IPEnabled = TRUE") For hver objNetAdapter i colNetAdapters errEnable = objNetAdapter. EnableDHCP () Næste WScript. Afslut

Som du kan se, er dette script meget enklere. Det bruger også WMI, men den eneste krævede funktion er “EnableDHCP”. Dette udføres på den aktuelt aktiverede netværkskort. Efter at have gemt og kørt dette script, ændrede mine adapterkortindstillinger tilbage til DHCP, og min internetforbindelse fungerede igen.
ændre netværksindstillinger script
Så nu, hvor du har fået koden til at udføre begge de vigtige handlinger, vil den næste del af dette trick være at komme med input fra brugeren for at bestemme nøjagtigt, hvilken statisk IP de ønsker. For at aktivere DHCP igen kan du kræve, at brugeren indtaster ordet "AUTO" for automatisk at registrere IP'en.
Sådan ser det ud af dette nye, komplette script, der indeholder de to scripts ovenfor.

Mulighed eksplicit ved fejl Genoptag næste Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Dim colNetAdapters. Dim errEnableStatic. Dim errGateways. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Type statisk IP-adresse eller AUTO") Hvis strInput = "AUTO" Derefter strComputer = "." Indstil objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Indstil colNetAdapters = objWMIService. ExecQuery ("Vælg * fra Win32_NetworkAdapterConfiguration hvor IPEnabled = TRUE") For hver objNetAdapter i colNetAdapters errEnable = objNetAdapter. EnableDHCP () Hvis ikke errEnable = 0 Derefter WScript. Echo "Indstilling af DHCP mislykkedes." errFailed = 1 Ende Hvis næste. Ellers strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Indstil objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Indstil colNetAdapters = objWMIService. ExecQuery ("Vælg * fra Win32_NetworkAdapterConfiguration hvor IPEnabled = TRUE") For hver objNetAdapter i colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Hvis ikke errEnableStatic = 0 Derefter WScript. Echo "Fejl ved tildeling af IP / Subnet." errFailed = 1 Ende Hvis errGateways = objNetAdapter. SetGateways (arrGateway) Hvis ikke errGateways = 0 Derefter WScript. Echo "Fejl ved tildeling af Gateway." errFailed = 1 Ende Hvis næste ende Hvis Hvis errFailed = 0 Derefter WScript. Ekko "IP-indstillinger er modificeret." Afslut Hvis WScript. Afslut

Dette script bruger InputBox-funktionen til at hente enten den statiske IP eller kommandoen “AUTO” fra brugeren.
ændre netværksindstillinger script

Hvis andet end “AUTO” indtastes i feltet, bruges det som den statiske IP-streng i det kodeksnit, der bruger WMI til at indstille de statiske IP-indstillinger for netværkskortet. Der er også en kontrol for bekræftelsen "0", der siger, at alt gik i orden.

script for at ændre netværksindstillinger

Når jeg kontrollerede mine netværkskortindstillinger efter at have kørt scriptet, bekræftede jeg, at scriptet faktisk gjorde de statiske IP-indstillinger ændringer.
script for at ændre netværksindstillinger
Nu for at teste AUTO-scriptet. Indtastning af AUTO tilfredsstiller den første betingelse i ”IF” -sætningen, der kontrollerer for AUTO. Dette kører det alternative script, der aktiverer DHCP.

script for at ændre netværksindstillinger

Efter at have kørt dette, gik jeg ind i mine adapterindstillinger, og sikker nok, den blev sat tilbage til at få en IP-adresse automatisk.
script for at skifte netværk
Selvom det kan være en enkel nok opgave at gå ind på dine netværkskortindstillinger og skifte til statisk eller DHCP, hvis du er nødt til at gøre det virkelig ofte, kan det blive en rigtig smerte. Du kan gøre det fra en kommandolinje ved hjælp af "netsh", men igen, skal du huske kommandosyntaxen.

Brug af scriptet ovenfor giver dig mulighed for at opbygge et hurtigt og nemt værktøj, som du kan bruge når som helst til at skifte dine netværksindstillinger på farten.

Tror du, du kan prøve dette Windows-script? Andre ideer til at finpusse det og gøre det endnu bedre? Del dine tanker og forslag i kommentarfeltet nedenfor.

Billedkredit:Binære koder via Shutterstock

Ryan har en BSc-grad i elektroteknik. Han har arbejdet 13 år inden for automatisering, 5 år inden for it, og er nu en applikationsingeniør. En tidligere administrerende redaktør for MakeUseOf, han har talt på nationale konferencer om datavisualisering og har været vist på nationalt tv og radio.