Annons
Skriva batchjobb (.fladdermus Hur man skapar en Batch-fil i fem enkla stegDen här artikeln beskriver hur du skapar en batchfil med fem enkla steg för Windows-operativsystemet. Läs mer ) och mer nyligen Windows-skript 3 fantastiska saker du kan göra med Windows scriptingOavsett om du arbetar inom IT-området, som webbdesigner eller om du bara är student eller vanlig kontorsarbetare, har Windows Scripting något att erbjuda dig. Naturligtvis gör Applescript också, ... Läs mer (.wsf) är en aktivitet som verkligen utgör huvuddelen av hur den stora majoriteten av nätverk och system administratörer gör sina jobb snabbare och förenklar det som annars skulle vara tidskrävande, komplex uppgifter. Med hjälp av batchjobb kan du automatisera installation och avinstallation av applikationer, göra en inventering av programvara och OS-inställningar för alla datorer i ditt nätverk och en mängd andra frågor och jobb. Det finns dock vissa uppgifter som ibland går igenom flera autentiseringslager, till exempel telnet.
Många nätverksadministratörer måste telnet i nätverksomkopplare för att fråga eller ställa in portar, övervaka hälsan hos system eller till och med starta om nätverksenheter som accepterar kommandon via telnet. Skulle det inte vara söt om du skulle kunna automatisera telnetjobb precis som du skulle skriva vanliga batchjobb?
Sanningen är att om du är van vid att använda VB-skript för att skapa dina Windows-skript (eller till och med om du inte är det), ger VB-skript ett mycket användbar funktion där du kan etablera Windows Shell-skriptet som ett objekt och sedan utfärda det "objektet" noggrant tidsinställda kommandon. I huvudsak är det precis som om du sitter vid ett kommandofönster och skriver in kommandon. Den enda skillnaden är att ditt Windows-skript skickar fönstret kommandona åt dig.
Automatisera ditt Telnet-jobb
Det finns i princip två delar till denna uppgift. Du måste fastställa sekvensen med kommandon som du vill gå igenom under den typiska telnet-sessionen.
Det här är vad jag vill göra. Jag har 5 enheter i hela nätverket som kan fjärrstartas via telnet genom att utfärda fyra enkla kommandon. Jag måste först telnet till den med IP-adressen och en specifik port. Därefter visas en meny, och jag måste först trycka på enter.

Efter att jag träffat enter under denna telnet-session förväntar sig nästa meny ett numeriskt svar, följt av Enter.

Låter lite omöjligt för ett skriptjobb, eller hur? Nåväl, underskatta aldrig kraften i Visual Basic.
Nu finns det andra metoder för att göra detta. Kolla in Abhigyan's artikel om Tst10.exe för att se hur vissa människor gillar att använda Tst-skriptmetoden för att automatisera telnet-sessioner. Tyvärr ser du också att det kan vara något komplicerat för någon som inte är van vid att skriva många skript. Tcl är också en annan liknande skriptspråk som programmerare har använt i flera år för samma uppgift.
Men jag ska visa dig hur en VB-skriptfil kommer att utföra samma uppgifter under en bråkdel av tiden och använda ett skript som är monumentalt lättare att förstå.
Så här är vad vi ska göra. Jag kommer att dela upp skriptet i sektioner. Lägg alla dessa i en textfil som heter något liknande Autotelnet.wsf, dubbelklicka, så kommer den att köras.
Först - upprätta telnet-sessionen:
Alternativ explicit
Vid felupptagning Nästa
Dim WshShell
set WshShell = CreateObject ("WScript. Shell ")
WshShell.run" cmd.exe "
WScript. Sleep 1000
'Skicka kommandon till fönstret efter behov - IP och kommandon måste anpassas
' Steg 1 - Telnet till fjärr-IP '
WshShell. SendKeys "telnet xx.xx.xx.73 9999"
WshShell. SendKeys ("{Enter}")
WScript. Sleep 1000
Avsnittet med koden ovan öppnar automatiskt ett kommandofönster och sedan telnet till enheten på vilken specifik port du behöver för att ansluta. Ersätt "x's" med din egen IP.
Sleep-kommandot väntar tillräckligt länge för att enheten ska svara och be ditt skript till nästa kommando. Se till att den här väntetiden är tillräckligt lång för att åtgärden ska ske.
För det andra måste du skicka varje kommando, ett i taget, ger tillräckligt med väntetid mellan dem för att telnet-sessionen ska svara.
'Steg 2 - Problemkommandon med pauser pre>WshShell. SendKeys ("{Enter}")WScript. Sov 1000WshShell. SendKeys "5"WshShell. SendKeys ("{Enter}")WScript. Sleep 1000I det här exemplet har jag utfärdat de två kommandona som jag noterade ovan. Först har jag skriptet skicka kommandot "Enter", vänta en sekund, sedan skicka ett "5" och tryck på "Enter" igen. Denna korta serie åtgärder kommer att fungera exakt som om du satt framför telnet-kommandofönstret och gjorde dem själv. Du behöver bara anpassa det här skriptet för att utföra exakta svar som din telnet-session kräver.
Glöm slutligen inte att stänga kommandofönstret och avsluta skriptet.
'Steg 3 - Avsluta kommandot Fönster pre>WshShell. SendKeys "exit"WshShell. SendKeys ("{Enter}")WScript. AvslutaDet är allt som finns för att automatisera telnet - tre enkla steg i ett mycket okomplicerat skript. Ta bara de tre avsnitten ovan och anpassa dem efter ditt hjärts önskan. Du automatiserar alla dina supportuppgifter för att hantera nätverksväxlar, tidsklockor eller andra fjärrsystem som kommunicerar via telnet.
Om du har upprepade uppgifter som du måste göra ofta, gör ditt liv mycket enklare genom att skapa automatiserade Windows-skript som gör dessa uppgifter åt dig. Du kommer att vara mer produktiv, och din chef kommer att bli riktigt imponerad!
Har du några andra idéer för coola uppgifter du kan automatisera med den här typen av Windows-skript? Hur har du automatiserat dina egna telnetuppgifter? Dela dina tankar och insikter i kommentarerna nedan.
Bildkredit: Shutterstock
Ryan har en kandidatexamen i elektroteknik. Han har arbetat 13 år inom automationsteknik, 5 år inom IT och är nu en applikationsingenjör. Han var tidigare chefredaktör för MakeUseOf och talade vid nationella konferenser om datavisualisering och har varit med på nationell TV och radio.