Mainos
Tällä viikolla kompasin mielenkiintoisen ongelman yli. Monissa toimistoissa tai työympäristöissä saatat joutua määrittelemään verkkoasetukset uudelleen, jotta voit muodostaa yhteyden eri verkkoihin. Jotkut ihmiset esimerkiksi ottavat kannettavan tietokoneen kotiinsa ja heillä on staattinen IP, joka on määritetty erityisesti kyseiselle koneelle. Koska työverkko on yleensä DHCP, tämä edellyttää, että henkilö muuttaa verkkoasetuksia staattisen IP: n tai automaattisen DHCP: n välillä riippuen siitä, missä ne ovat.
Yleisempi ongelma on insinöörien tai tietotekniikan henkilöstön, joiden on usein muodostettava yhteys laitteisiin tai koneisiin pienessä rakennuksen verkossa. Jos haluat muodostaa yhteyden kyseiseen eristettyyn verkkoon, sinun on vaihdettava verkkoasetukset staattiseksi IP: ksi. Myöhemmin, kun muodostat yhteyden yritysverkkoon, se palaa takaisin DHCP: hen.
Löysin tilannetta tarpeeksi usein ja kyllästyin selaamaan verkkokorttia avaamalla IP-asetuksia ja tehdessäni nämä muokkaukset, päätin, että oli korkea aika laatia VB-skripti, joka tekisi kaiken yhdessä tai kahdessa napsautuksella. Jos olet seurannut ohjelmointiartikkeleitasi, tiedät sitten, että rakastan VB-skriptejä. Käytin kerran
luoda hallussa oleva tietokone Luo Freaky-hallussa oleva tietokone Windows-skriptillä HalloweenOn paljon hauskoja keppoja, joita voit pelata ystävilläsi tietokoneella. Olet todennäköisesti nähnyt kaikki nuo kammottavat YouTube-videot, joita ihmiset välittävät toisilleen hyvän pelon vuoksi ... Lue lisää , ja myös tottunut siihen automatisoida Microsoft SyncToy Kuinka luoda varmuuskopiointityökalu SyncToy & VB-komentosarjan avullaOlemme käsitellyt paljon varmuuskopioratkaisuja täällä MUO: ssa, ja kaikki nämä ratkaisut ovat hienoja, mutta jos työskentelet ympäristössä, joka on varovainen ilmaisten kolmannen osapuolen ohjelmistopakettien tai yritysten ... Lue lisää tietojen varmuuskopiointiin.Tämä tehtävä on mahdollista suorittaa myös VB-skriptilla, ja se on jopa mahdollista tehdä siitä riittävän joustava, jotta se voi hyväksyä käyttäjän syötteen staattiseen IP-osoitteeseen. Esitän tässä artikkelissa, kuinka se tehdään, kolmessa osassa.
Verkkoasetuksen luominen Vaihda komentosarja
Skriptillä on suoritettava kolme päätehtävää, jotta voit luoda tämän pienen sovelluksen verkkoasetusten vaihtamista varten. Ensimmäinen on käyttää komentosarjaa staattisten IP-asetusten luomiseen. Seuraava on keksiä käsikirjoitus, jolla DHCP otetaan käyttöön. Viimeinen asia on kysyä käyttäjältä, minkä tehtävän hän haluaa tehdä, ja käyttää sitten tätä palautetta suorittaakseen sen.
VB-komentosarja asettaa staattiset IP-asetukset
Muista, että seuraavat skriptit täytyy tallentaa tekstitiedostona .wsf-tunnisteella, jotta ne toimivat Windows-tietokoneessa. Seuraava komentosarja muuttaa verkkoasetuksesi staattiseksi IP: ksi tietyllä aliverkon peitteellä ja oletusyhdysportilla, kaikki kolme kovaa koodattua komentosarjaan.
Muista lisätä kaikkiin tässä artikkelissa lueteltuihin koodinäytteisiin ”
Tässä on staattinen IP-muutoskomentosarja:
Vaihtoehto eksplisiittinen On Error Jatka Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Himmennä colNetAdapters. Himmennä errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Array ("192.168.1.106") arrSubnetMask = Taulukko ("255.255.255.0") arrGateway = Array ("192.168.1.1") Aseta objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Aseta colNetAdapters = objWMIService. ExecQuery ("Valitse * kohdasta Win32_NetworkAdapterConfiguration, jossa IPEnabled = TRUE") Jokaiselle colNetAdaptersin objNetAdapterille errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Jos Ei errEnableStatic = 0 Sitten WScript. Kaiku "IP / aliverkon määrittäminen epäonnistui." Lopeta, jos errGateways = objNetAdapter. SetGateways (arrGateway) Jos Ei errGateways = 0 Sitten WScript. Kaiku "Epäonnistuminen yhdyskäytävän määrittämisessä." Lopeta jos seuraava. Wscript. Lopettaa
Tämä skripti käyttää Windowsin Windows WMI -palvelua asetusta muuttavien tavoitteiden saavuttamiseen. Näet kolme kiinteää ryhmämuuttujaa, jotka on ladattu IP-osoitteilla, ja sitten missä komentosarja tarkistaa aktiivisen ”käytössä” verkkokortin. Sitten se käyttää ”EnableStatic” ja “SetGateways” -menetelmiä tarvittavien muutosten tekemiseen. Kun suoritan komentosarjaa kotiverkossani (missä vaadin DHCP: tä), näet missä komentosarja muutti onnistuneesti sovitinasetuksiani ja olen menettänyt Internet-yhteyteni.
Kun on todistettu, että komentosarjan staattinen IP-osa toimii, on aika kirjoittaa komentosarja, joka asettaa sovittimen DHCP: ksi, jotta se tunnistaa automaattisesti verkon IP: n. Tässä on komentosarja, jota voit käyttää siihen.
Vaihtoehto eksplisiittinen On Error Jatka Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Aseta objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Aseta colNetAdapters = objWMIService. ExecQuery ("Valitse * kohdasta Win32_NetworkAdapterConfiguration, jossa IPEnabled = TRUE") Jokaiselle colNetAdaptersin objNetAdapterille errEnable = objNetAdapter. EnableDHCP () Seuraava WScript. Lopettaa
Kuten näette, tämä skripti on paljon yksinkertaisempi. Se käyttää myös WMI: tä, mutta ainoa vaadittava toiminto on ”EnableDHCP”. Tämä suoritetaan tällä hetkellä käytössä olevalla verkkosovittimella. Tallennuksen ja tämän komentosarjan suorittamisen jälkeen sovitinkorttini asetukset muuttuivat takaisin DHCP: ksi ja Internet-yhteyteni toimi jälleen.
Joten nyt, kun olet saanut koodin molempien tärkeiden toimintojen suorittamiseksi, tämän tempun seuraava osa on ottaa käyttäjän panos määritellä tarkalleen, mitä staattista IP: tä he haluavat. Jos haluat ottaa DHCP: n uudelleen käyttöön, voit vaatia käyttäjää antamaan sanan “AUTO” tunnistaaksesi IP: n automaattisesti.
Täältä näet miltä tämä uusi, kokonainen käsikirjoitus, joka sisältää kaksi yllä olevaa skriptiä, näyttää.
Vaihtoehto eksplisiittinen On Error Jatka Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Himmennä colNetAdapters. Himmennä errEnableStatic. Himmennä portit. Dim strInput. Dim errFailed errFailed = 0 strInput = InputBox ("Type static IP Address or AUTO") Jos strInput = "AUTO" Sitten strComputer = "." Aseta objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Aseta colNetAdapters = objWMIService. ExecQuery ("Valitse * kohdasta Win32_NetworkAdapterConfiguration, jossa IPEnabled = TRUE") Jokaiselle colNetAdaptersin objNetAdapterille errEnable = objNetAdapter. EnableDHCP () Jos Ei ererEnable = 0 Sitten WScript. Kaiku "DHCP: n asetus epäonnistui." errFailed = 1 Lopeta, jos seuraava. Else strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Ryhmä ("192.168.1.1") Aseta objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Aseta colNetAdapters = objWMIService. ExecQuery ("Valitse * kohdasta Win32_NetworkAdapterConfiguration, jossa IPEnabled = TRUE") Jokaiselle colNetAdaptersin objNetAdapterille errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Jos Ei errEnableStatic = 0 Sitten WScript. Kaiku "IP / aliverkon määrittäminen epäonnistui." errFailed = 1 Lopeta, jos errGateways = objNetAdapter. SetGateways (arrGateway) Jos Ei errGateways = 0 Sitten WScript. Kaiku "Epäonnistuminen yhdyskäytävän määrittämisessä." errFailed = 1 End jos Next End Jos If errFailed = 0 Sitten WScript. Kaiku "IP-asetusten onnistunut muokkaaminen." Lopeta jos WScript. Lopettaa
Tämä skripti käyttää InputBox-toimintoa saadakseen staattisen IP: n tai “AUTO” -komennon käyttäjältä.
Jos kenttään on kirjoitettu jotain muuta kuin “AUTO”, sitä käytetään staattisena IP-merkkijonona koodin osassa, joka käyttää WMI: tä asettamaan verkkosovittimen staattiset IP-asetukset. Tarkistetaan myös ”0” -vahvistus, jossa sanotaan, että kaikki meni hyvin.
Tarkistin verkkokorttiasetuksiani komentosarjan suorittamisen jälkeen, vahvistin, että komentosarja todella muutti staattiset IP-asetukset.
Nyt testata AUTO-komentosarja. Kun kirjoitat AUTO, ensimmäinen ehto täytetään ”IF” -käskyssä tarkistaessaan AUTO. Tämä suorittaa vaihtoehtoisen komentosarjan, joka mahdollistaa DHCP: n.
Tämän suorittamisen jälkeen menin sovitinasetuksiin ja varmasti sen asetettiin takaisin hankkimaan IP-osoite automaattisesti.
Vaikka se voi olla tarpeeksi yksinkertainen tehtävä mennä verkkokortin asetuksiin ja vaihtaa staattiseksi tai DHCP: ksi, jos se on tehtävä niin usein, siitä voi tulla todellinen kipu. Voit tehdä sen komentoriviltä käyttämällä “netsh”, mutta täytyy taas muistaa komennon syntaksi.
Yllä olevan komentosarjan avulla voit luoda nopean ja helpon apuohjelman, jonka avulla voit milloin tahansa vaihtaa verkkoasetuksia lennossa.
Luuletko saavasi kokeilla tätä Windows-komentosarjaa? Onko muita ideoita muuttaa sitä ja tehdä siitä vielä parempaa? Jaa ajatuksesi ja ehdotuksesi alla olevassa kommenttiosassa.
Kuvahyvitys:Binaarikoodit Shutterstockin kautta
Ryanilla on BSc-tutkinto sähkötekniikasta. Hän on työskennellyt 13 vuotta automaatiotekniikassa, 5 vuotta IT: ssä ja on nyt sovellusinsinööri. MakeUseOfin entinen toimitusjohtaja, hänet puhutaan kansallisissa konferensseissa datan visualisoinnista ja hänet on esitelty kansallisessa televisiossa ja radiossa.