Annonse
Skrive batchjobber (.flaggermus Hvordan lage en batch-fil (BAT) i fem enkle trinnDenne artikkelen dekker hvordan du oppretter en batchfil med fem enkle trinn for Windows-operativsystemet. Les mer ) og mer nylig Windows-skript 3 Fantastiske ting du kan gjøre med Windows ScriptingEnten du jobber innen IT-feltet, som webdesigner, eller om du bare er student eller vanlig kontorarbeider, har Windows Scripting noe å tilby deg. Selvfølgelig gjør Applescript også, ... Les mer (.wsf) er en aktivitet som virkelig utgjør hoveddelen av hvordan det store flertallet av nettverk og system administratorer gjør jobbene sine raskere, og forenkler det som ellers ville være tidkrevende, sammensatt oppgaver. Ved hjelp av batchjobber kan du automatisere installering og avinstallering av applikasjoner, gjøre en oversikt over programvare og OS-innstillinger for alle PCer i nettverket ditt, og en rekke andre spørsmål og jobber. Imidlertid er det visse oppgaver som noen ganger går gjennom flere autentiseringslag, for eksempel telnet.
Mange nettverksadministratorer må telnet til nettverksbrytere for å spørre eller sette opp porter, overvåke helsen til systemer, eller til og med starte nettverksenheter som godtar kommandoer via telnet. Ville det ikke være søtt om du kunne automatisere telnetjobber akkurat som du ville skrevet vanlige batchjobber?
Sannheten er at hvis du er vant til å bruke VB-skript for å lage Windows-skript (eller til og med hvis du ikke er det), gir VB-skript en veldig nyttig funksjon der du kan etablere Windows Shell-skriptet som et objekt, og deretter utstede det "objektet" nøye tidsbestemte kommandoer. I hovedsak er dette akkurat som om du sitter ved et kommandovindu og skriver inn kommandoer. Den eneste forskjellen er at Windows-skriptet ditt sender vinduet kommandoene for deg.
Automatiser Telnet-jobben din
Det er i utgangspunktet to deler til denne oppgaven. Du må etablere sekvensen med kommandoer du vil gå gjennom under den typiske telnet-økten.
Dette er hva jeg vil gjøre. Jeg har 5 enheter i hele nettverket som eksternt kan startes på nytt via telnet ved å utstede 4 enkle kommandoer. Jeg må først telnet til den ved hjelp av IP-adressen og en spesifikk port. Deretter vises en meny, og jeg må først trykke på enter.
Etter at jeg traff enter under denne telnet-økten, forventer neste meny et numerisk svar, etterfulgt av Enter.
Høres litt umulig ut for en skriptjobb, ikke sant? Vel, aldri undervurder kraften i Visual Basic.
Nå er det andre metoder for å gjøre dette. Bare sjekk Abhigyans artikkel om Tst10.exe for å se hvordan noen mennesker liker å bruke Tst-skriptmetoden for å automatisere Telnet-økter. Dessverre vil du også se at det kan være litt sammensatt for noen som ikke er vant til å skrive mange manus. Tcl er også en annen lignende skriptspråk programmerere har brukt i årevis for den samme oppgaven.
Imidlertid skal jeg vise deg hvordan en VB-skriptfil vil gjøre de samme oppgavene i en brøkdel av tiden og bruke et skript som er monumentalt lettere å forstå.
Så her er hva vi skal gjøre. Jeg kommer til å dele opp skriptet i seksjoner. Legg alle disse i en tekstfil som heter noe som Autotelnet.wsf, dobbeltklikk, så kjøres den.
Først - etabler telnetøkten:
Eksplisitt alternativ
Ved feilopptak Neste
Dim WshShell
set WshShell = CreateObject ("WScript. Shell ")
WshShell.run" cmd.exe "
WScript. Sleep 1000
'Send kommandoer til vinduet etter behov - IP og kommandoer må tilpasses
' Trinn 1 - Telnet til ekstern IP '
WshShell. SendKeys "telnet xx.xx.xx.73 9999"
WshShell. SendKeys ("{Enter}")
WScript. Sleep 1000
Kodedelen ovenfor vil automatisk åpne et kommandovindu og deretter telnet til enheten på hvilken spesifikk port du trenger for å koble til. Erstatt “x’er” med din egen IP.
Sleep-kommandoen vil vente lenge nok til enheten skal svare og be skriptet ditt til neste kommando. Forsikre deg om at denne ventetiden er lang nok til at handlingen kan skje.
For det andre må du sende hver kommando, én om gangen, gir nok ventetid mellom dem for at telnetøkten skal svare.
'Trinn 2 - Problemkommandoer med pauser pre>WshShell. SendKeys ("{Enter}")WScript. Sov 1000WshShell. SendKeys "5"WshShell. SendKeys ("{Enter}")WScript. Sleep 1000I dette eksemplet har jeg gitt ut de to kommandoene som jeg la merke til ovenfor. Først har jeg skriptet til å sende "Enter" -kommandoen, vent et øyeblikk, så send en "5" og trykk "Enter" igjen. Denne korte serien med handlinger vil utføre nøyaktig som om du satt foran telnet-kommandovinduet og gjorde dem selv. Du trenger bare å tilpasse dette skriptet for å utføre de eksakte svarene som telnetøkten din krever.
Ikke glem å lukke kommandovinduet og avslutte skriptet.
'Trinn 3 - Avslutt kommando Vindu pre>WshShell. SendKeys "exit"WshShell. SendKeys ("{Enter}")WScript. AvsluttDet er alt som er å automatisere telnet - tre enkle trinn i et veldig ukomplisert skript. Bare ta de tre seksjonene ovenfor og tilpass dem etter ditt hjerte. Du automatiserer alle støtteoppgavene dine for å administrere nettverksbrytere, tidsklokker eller andre eksterne systemer som kommuniserer via telnet.
Hvis du har repeterende oppgaver som du ofte må gjøre, gjør livet ditt mye enklere ved å lage automatiserte Windows-skript som gjør disse oppgavene for deg. Du vil være mer produktiv, og sjefen din blir virkelig imponert!
Har du andre ideer for kule oppgaver du kan automatisere ved hjelp av denne typen Windows-skript? Hvordan har du automatisert dine egne telnetoppgaver? Del tankene og innsikten i kommentarfeltet nedenfor.
Bildekreditt: Shutterstock
Ryan har en BSc-grad i elektroteknikk. Han har jobbet 13 år innen automatisering, 5 år innen IT, og er nå en applikasjonsingeniør. Han var tidligere administrerende redaktør for MakeUseOf, han snakket på nasjonale konferanser om datavisualisering og har blitt omtalt på nasjonal TV og radio.