Advertentie

wijzig het script voor netwerkinstellingenDeze week kwam ik een interessant probleem tegen. In veel kantoren of werkomgevingen moet u mogelijk uw netwerkinstellingen opnieuw definiëren om verbinding te maken met verschillende netwerken. Sommige mensen nemen bijvoorbeeld hun laptop mee naar huis en hebben een statisch IP-adres dat speciaal voor die machine is ingesteld. Aangezien het werknetwerk echter meestal DHCP is, moet de persoon de netwerkinstellingen blijven wijzigen tussen een statisch IP-adres of automatisch DHCP, afhankelijk van waar ze zich bevinden.

Een vaker voorkomend probleem is voor ingenieurs of IT-medewerkers die vaak verbinding moeten maken met apparaten of machines op een klein netwerk binnen een gebouw. Om verbinding te maken met dat geïsoleerde netwerk, moet u uw netwerkinstellingen wijzigen in een statisch IP-adres. Later, wanneer u opnieuw verbinding maakt met het bedrijfsnetwerk, is het weer terug naar DHCP.

Ik bevond me vaak genoeg in deze situatie en werd zo moe van het bladeren naar de netwerkkaart, waardoor de IP-instellingen werden geopend en die bewerkingen maakte, waarvan ik besloot dat het hoog tijd was om een ​​VB-script samen te stellen dat het allemaal in één of twee zou doen klikken. Als je mijn programmeerartikelen hebt gevolgd, weet je dat ik dol ben op VB-scripts. Ik heb het ooit gebruikt

instagram viewer
maak een bezeten computer Maak een Freaky-bezeten computer met Windows-script voor HalloweenEr zijn veel leuke grappen die je met een computer op je vrienden kunt spelen. Je hebt waarschijnlijk al die enge YouTube-video's gezien die mensen naar elkaar doorsturen voor een goede schrik ... Lees verder , en vroeger ook automatiseer Microsoft SyncToy Hoe een tool voor gegevensback-up te maken met SyncToy & VB ScriptWe hebben hier bij MUO veel back-upoplossingen behandeld en al deze oplossingen zijn geweldig, maar als u werkt in een omgeving die op uw hoede is voor gratis softwarepakketten van derden of bedrijven ... Lees verder voor gegevensback-ups.

Het is ook mogelijk om deze taak uit te voeren met VB-script en het is zelfs mogelijk om het flexibel genoeg te maken zodat het gebruikersinvoer voor het statische IP-adres kan accepteren. In dit artikel laat ik u in drie secties zien hoe u dit moet doen.

Een netwerkinstellingen-wijzigingsscript maken

Er zijn drie hoofdtaken die u met het script moet uitvoeren om deze kleine app te maken voor het wisselen van netwerkinstellingen. De eerste is om het script te gebruiken om statische IP-instellingen te maken. De volgende is om een ​​script te bedenken om DHCP in te schakelen. Ten slotte is de laatste om de gebruiker te vragen welke taak ze willen doen en die feedback vervolgens te gebruiken om het te bereiken.

VB Script om statische IP-instellingen in te stellen

Onthoud dat de volgende scripts moeten worden opgeslagen als een tekstbestand met de extensie .wsf om op een Windows-pc te kunnen werken. Het volgende script verandert uw netwerkinstellingen in een statisch IP met een specifiek subnetmasker en standaard gatewall, met alle drie hard gecodeerd in het script.

Zorg ervoor dat u voor alle in dit artikel vermelde codevoorbeelden ' aan het einde, anders wordt de code niet uitgevoerd.
Dit is het statische script voor IP-wijziging:

Optie Expliciet bij fout Hervatten Volgende 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") Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Stel colNetAdapters = objWMIService in. ExecQuery ("Selecteer * uit Win32_NetworkAdapterConfiguration waar IPEnabled = TRUE") Voor elke objNetAdapter in colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Indien niet errEnableStatic = 0 Dan WScript. Echo "Fout bij toewijzen van IP / subnet." Einde als errGateways = objNetAdapter. SetGateways (arrGateway) Indien niet errGateways = 0 Dan WScript. Echo "Fout bij toewijzen van gateway." Einde als volgende. WScript. Stop ermee

Dit script gebruikt de Windows WMI-service in Windows om het doel van het wijzigen van instellingen te bereiken. U kunt de drie vaste arrayvariabelen zien die zijn geladen met de IP-adressen en waar het script controleert op de actieve "ingeschakelde" netwerkkaart. Vervolgens gebruikt het de methoden "EnableStatic" en "SetGateways" om de vereiste wijzigingen aan te brengen. Wanneer ik het script op mijn thuisnetwerk uitvoer (waar ik DHCP nodig heb), kunt u zien waar het script mijn adapterinstellingen heeft gewijzigd en ben ik mijn internetverbinding kwijt.
Hoe een Windows-script te schrijven om netwerkinstellingen on the fly te wijzigen autodhcp1
Nu we hebben bewezen dat het statische IP-gedeelte van het script werkt, is het tijd om het script te schrijven waarmee de adapter op DHCP wordt ingesteld, zodat het automatisch het netwerk-IP detecteert. Hier is het script dat je daarvoor kunt gebruiken.

Optie Expliciet bij fout Hervatten Volgende dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Stel objWMIService = GetObject in ("winmgmts: \\" & strComputer & "\ root \ cimv2") Stel colNetAdapters = objWMIService in. ExecQuery ("Selecteer * uit Win32_NetworkAdapterConfiguration waarbij IPEnabled = TRUE") Voor elke objNetAdapter in colNetAdapters errEnable = objNetAdapter. EnableDHCP () Volgende WScript. Stop ermee

Zoals je kunt zien, is dit script een stuk eenvoudiger. Het maakt ook gebruik van WMI, maar de enige vereiste functie is "EnableDHCP". Dit wordt uitgevoerd op de momenteel ingeschakelde netwerkadapter. Na het opslaan en uitvoeren van dit script, veranderden mijn adapterkaartinstellingen terug naar DHCP en werkte mijn internetverbinding weer.
wijzig het script voor netwerkinstellingen
Dus nu je de code hebt om beide belangrijke acties uit te voeren, is het volgende deel van deze truc om input van de gebruiker te nemen om precies te bepalen welk statisch IP-adres ze willen. Om DHCP weer in te schakelen, moet u de gebruiker het woord "AUTO" laten invoeren om automatisch het IP-adres te detecteren.
Dit is hoe dit nieuwe, volledige script met de twee bovenstaande scripts eruit ziet.

Optie Expliciet bij fout Hervatten Volgende 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 Static IP Address or AUTO") Als strInput = "AUTO" Dan strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Selecteer * uit Win32_NetworkAdapterConfiguration waarbij IPEnabled = TRUE") Voor elke objNetAdapter in colNetAdapters errEnable = objNetAdapter. EnableDHCP () Indien niet errEnable = 0 Dan WScript. Echo "Instelling DHCP mislukt." errFailed = 1 Einde als volgende. Anders 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 ("Selecteer * uit Win32_NetworkAdapterConfiguration waar IPEnabled = TRUE") Voor elke objNetAdapter in colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Indien niet errEnableStatic = 0 Dan WScript. Echo "Fout bij toewijzen van IP / subnet." errFailed = 1 End If errGateways = objNetAdapter. SetGateways (arrGateway) Indien niet errGateways = 0 Dan WScript. Echo "Fout bij toewijzen van gateway." errFailed = 1 End If Next End If If errFailed = 0 Then WScript. Echo "IP-instellingen succesvol gewijzigd." Einde als WScript. Stop ermee

Dit script gebruikt de InputBox-functie om het statische IP-adres of het "AUTO" -commando van de gebruiker op te halen.
wijzig het script voor netwerkinstellingen

Als er iets anders dan "AUTO" in het veld wordt getypt, wordt dat gebruikt als de statische IP-reeks in het gedeelte van de code dat WMI gebruikt om de statische IP-instellingen voor de netwerkadapter in te stellen. Er is ook een vinkje voor de '0'-bevestiging dat alles goed is gegaan.

script om netwerkinstellingen te wijzigen

Ik controleerde mijn netwerkkaartinstellingen na het uitvoeren van het script en bevestigde dat het script in feite de statische IP-instellingen heeft gewijzigd.
script om netwerkinstellingen te wijzigen
Nu om het AUTO-script te testen. Het typen van AUTO voldoet aan de eerste voorwaarde in de "IF" -opdracht voor het controleren van AUTO. Dit voert het alternatieve script uit dat DHCP inschakelt.

script om netwerkinstellingen te wijzigen

Nadat ik dit had uitgevoerd, ging ik naar mijn adapterinstellingen en ja hoor, het was teruggezet naar Automatisch een IP-adres verkrijgen.
script om van netwerk te veranderen
Hoewel het misschien een eenvoudig genoeg taak is om naar de instellingen van uw netwerkkaart te gaan en over te schakelen naar statisch of DHCP, kan het, als u het echt vaak moet doen, echt lastig worden. Je zou het vanaf een opdrachtregel kunnen doen met "netsh", maar nogmaals, je moet de syntaxis van de opdracht onthouden.

Met behulp van het bovenstaande script kunt u een snel en gemakkelijk hulpprogramma bouwen dat u op elk moment kunt gebruiken om uw netwerkinstellingen on-the-fly te wijzigen.

Denk je dat je dit Windows Script eens zou kunnen proberen? Nog andere ideeën om het aan te passen en het nog beter te maken? Deel uw mening en suggesties in de opmerkingen hieronder.

Afbeelding tegoed:Binaire codes via Shutterstock

Ryan heeft een BSc-graad in elektrotechniek. Hij heeft 13 jaar in automatiseringstechniek gewerkt, 5 jaar in IT en is nu een Apps Engineer. Hij was een voormalig hoofdredacteur van MakeUseOf, hij sprak op nationale conferenties over datavisualisatie en was te zien op nationale tv en radio.