reklama

změnit skript nastavení sítěTento týden jsem narazil na zajímavý problém. V mnoha kancelářích nebo pracovních prostředích bude možná nutné předefinovat nastavení sítě pro připojení k různým sítím. Někteří lidé si například vezmou notebook s sebou domů a mají pro tento stroj nastavenou statickou IP adresu. Protože je však pracovní sítí obvykle DHCP, vyžaduje to, aby osoba neustále měnila nastavení sítě mezi statickou IP nebo automatickou DHCP podle toho, kde se nachází.

Častějším problémem jsou inženýři nebo pracovníci IT, kteří se často potřebují připojit k zařízením nebo strojům v malé síti v budově. Chcete-li se připojit k této izolované síti, musíte změnit nastavení sítě na statickou IP. Později, když se znovu připojíte k podnikové síti, je to opět k DHCP.

V této situaci jsem se ocitl dost často a už jsem unavený procházením síťovou kartou a otevíráním nastavení IP a udělal jsem ty úpravy, že jsem se rozhodl, že je nejvyšší čas dát dohromady skript VB, který by to všechno dokázal v jednom nebo dvou kliknutí. Pokud jste postupovali společně s mými programovacími články, pak víte, že miluji skripty VB. Kdysi jsem to použil

vytvořit posedlý počítač Vytvořte Freaky posedlý počítač pomocí skriptu Windows pro HalloweenExistuje spousta zábavných žertů, které můžete hrát s přáteli pomocí počítače. Pravděpodobně jste viděli všechna ta strašidelná videa na YouTube, která si lidé navzájem předávají, aby se vyděsili ... Přečtěte si více , a také zvyklý automatizovat Microsoft SyncToy Jak vytvořit nástroj pro zálohování dat pomocí SyncToy & VB ScriptPokryli jsme zde mnoho zálohovacích řešení na MUO, a všechna tato řešení jsou skvělá, ale pokud pracujete v prostředí, které je obezřetné ohledně bezplatných softwarových balíčků třetích stran nebo společností ... Přečtěte si více pro zálohování dat.

Je také možné provést tento úkol pomocí skriptu VB, a je dokonce možné, aby byl dostatečně flexibilní, aby mohl akceptovat vstup uživatele pro statickou IP adresu. V tomto článku vám ukážu, jak to udělat, ve třech sekcích.

Vytvoření skriptu pro změnu nastavení sítě

Chcete-li vytvořit tuto malou aplikaci pro přepínání síťových nastavení, musíte skriptem splnit tři hlavní úkoly. Prvním je použití skriptu k vytvoření statického nastavení IP. Další je přijít se skriptem, který povolí DHCP. A konečně, posledním je požádat uživatele, jaký úkol chtějí udělat, a pak tuto zpětnou vazbu použít k jeho splnění.

VB Script pro nastavení statických IP nastavení

Pamatujte, že následující skripty musí být uloženy jako textový soubor s příponou .wsf, aby mohly fungovat na počítači se systémem Windows. Následující skript změní vaše síťové nastavení na statickou IP s konkrétní maskou podsítě a výchozí bránou, se všemi třemi pevně zakódovanými do skriptu.

U všech ukázek kódu uvedených v tomto článku nezapomeňte přidat „ nakonec se kód nespustí.
Zde je skript pro statickou změnu IP:

Možnost Explicit On Error Resume Next 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") Nastavit colNetAdapters = objWMIService. ExecQuery ("Vyberte * z Win32_NetworkAdapterConfiguration kde IPEnabled = TRUE") Pro každý objNetAdapter v colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) If Not errEnableStatic = 0 Pak WScript. Echo „Selhání přiřazení IP / podsítě“. End If errGateways = objNetAdapter. SetGateways (arrGateway) If Not errGateways = 0 Then WScript. Echo „Selhání přiřazení brány“. Konec Pokud Další. WScript. Přestat

Tento skript používá službu Windows WMI v systému Windows k dosažení cíle změny nastavení. Můžete vidět tři proměnné pevného pole načtené pomocí IP adres a poté skript zkontroluje aktivní „povolenou“ síťovou kartu. Poté použije metody „EnableStatic“ a „SetGateways“ k provedení těchto požadovaných změn. Když spustím skript v domácí síti (kde vyžaduji DHCP), uvidíte, kde skript úspěšně změnil nastavení adaptéru a ztratil jsem připojení k internetu.
Jak napsat skript systému Windows a změnit nastavení sítě za běhu autodhcp1
Po prokázání, že část skriptu statická IP funguje, je čas napsat skript, který nastaví adaptér na DHCP, aby automaticky detekoval síťovou IP. Zde je skript, který k tomu můžete použít.

Možnost Explicit On Error Resume Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Nastavit objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Nastavit colNetAdapters = objWMIService. ExecQuery ("Vyberte * z Win32_NetworkAdapterConfiguration kde IPEnabled = TRUE") Pro každý objNetAdapter v colNetAdapters errEnable = objNetAdapter. EnableDHCP () Další WScript. Přestat

Jak vidíte, tento skript je mnohem jednodušší. Používá také WMI, ale jedinou požadovanou funkcí je „EnableDHCP“. To se provádí na aktuálně povoleném síťovém adaptéru. Po uložení a spuštění tohoto skriptu se nastavení karty adaptéru změnilo zpět na DHCP a moje připojení k Internetu opět fungovalo.
změnit skript nastavení sítě
Teď, když máte kód k provedení obou důležitých akcí, další částí tohoto triku bude převzít vstup od uživatele a přesně určit, jakou statickou IP chtějí. Chcete-li znovu povolit DHCP, můžete požadovat, aby uživatel zadal slovo „AUTO“ pro automatickou detekci IP.
Vypadá to, jak vypadá tento nový, plný skript obsahující dva výše uvedené skripty.

Možnost Explicit On Error Resume Next 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") If strInput = "AUTO" Then strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Vyberte * z Win32_NetworkAdapterConfiguration kde IPEnabled = TRUE") Pro každý objNetAdapter v colNetAdapters errEnable = objNetAdapter. EnableDHCP () If Not errEnable = 0 Then WScript. Echo "Nastavení DHCP selhalo." errFailed = 1 End If Next. Jinak 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") Pro každý objNetAdapter v colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) If Not errEnableStatic = 0 Pak WScript. Echo „Selhání přiřazení IP / podsítě“. errFailed = 1 End If errGateways = objNetAdapter. SetGateways (arrGateway) If Not errGateways = 0 Then WScript. Echo „Selhání přiřazení brány“. errFailed = 1 End If Next End If If errFailed = 0 Then WScript. Ozvěna „Nastavení IP byla úspěšně změněna.“ End If WScript. Přestat

Tento skript používá funkci InputBox k získání buď statické IP nebo příkazu „AUTO“ od uživatele.
změnit skript nastavení sítě

Pokud do pole zadáte něco jiného než „AUTO“, použije se jako statický řetězec IP v části kódu, který pomocí nastavení WMI nastavuje nastavení statické IP pro síťový adaptér. K dispozici je také kontrola pro „0“ potvrzení, že vše šlo dobře.

skript pro změnu nastavení sítě

Po spuštění skriptu jsem zkontroloval nastavení síťové karty a potvrdil jsem, že skript ve skutečnosti provedl změny nastavení statické IP.
skript pro změnu nastavení sítě
Nyní vyzkoušejte skript AUTO. Psaní AUTO splňuje první podmínku v příkazu „IF“, která kontroluje AUTO. Spustí se alternativní skript, který povoluje DHCP.

skript pro změnu nastavení sítě

Po spuštění jsem šel do svého nastavení adaptéru a byl si jistý, že byl nastaven zpět na Získat IP adresu automaticky.
skript pro změnu sítě
I když to může být dost jednoduchý úkol jít do nastavení vaší síťové karty a změnit statické nebo DHCP, pokud to musíte udělat opravdu často, může se stát skutečnou bolestí. Dalo by se to provést z příkazového řádku pomocí „netsh“, ale znovu si musíte zapamatovat syntaxi příkazu.

Pomocí výše uvedeného skriptu můžete vytvořit rychlý a snadný nástroj, který můžete kdykoli použít k přepínání síťových nastavení za chodu.

Myslíte si, že byste mohli vyzkoušet tento skript Windows? Máte nějaké další nápady, jak to vylepšit a vylepšit? Sdílejte své myšlenky a návrhy v sekci komentářů níže.

Obrázek Kredit:Binární kódy přes Shutterstock

Ryan má bakalářský titul z elektrotechniky. Pracoval 13 let v automatizační technice, 5 let v IT a nyní je Apps Engineer. Bývalý šéfredaktor MakeUseOf, vystoupil na národních konferencích o vizualizaci dat a vystupoval v národních televizích a rádiích.